@wordpress/e2e-test-utils-playwright 1.48.0 → 1.48.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/admin/create-new-post.js +31 -0
- package/build/admin/create-new-post.js.map +1 -0
- package/build/admin/edit-post.js +20 -0
- package/build/admin/edit-post.js.map +1 -0
- package/{src/admin/get-page-error.ts → build/admin/get-page-error.js} +9 -12
- package/build/admin/get-page-error.js.map +1 -0
- package/build/admin/index.js +40 -0
- package/build/admin/index.js.map +1 -0
- package/build/admin/visit-admin-page.js +32 -0
- package/build/admin/visit-admin-page.js.map +1 -0
- package/build/admin/visit-site-editor.js +45 -0
- package/build/admin/visit-site-editor.js.map +1 -0
- package/build/admin/wait-for-site-editor.js +41 -0
- package/build/admin/wait-for-site-editor.js.map +1 -0
- package/build/config.js +13 -0
- package/build/config.js.map +1 -0
- package/build/editor/click-block-options-menu-item.js +17 -0
- package/build/editor/click-block-options-menu-item.js.map +1 -0
- package/build/editor/click-block-toolbar-button.js +16 -0
- package/build/editor/click-block-toolbar-button.js.map +1 -0
- package/build/editor/get-blocks.js +45 -0
- package/build/editor/get-blocks.js.map +1 -0
- package/build/editor/get-edited-post-content.js +15 -0
- package/build/editor/get-edited-post-content.js.map +1 -0
- package/build/editor/index.js +75 -0
- package/build/editor/index.js.map +1 -0
- package/build/editor/insert-block.js +23 -0
- package/build/editor/insert-block.js.map +1 -0
- package/build/editor/open-document-settings-sidebar.js +27 -0
- package/build/editor/open-document-settings-sidebar.js.map +1 -0
- package/build/editor/preview.js +21 -0
- package/build/editor/preview.js.map +1 -0
- package/build/editor/publish-post.js +45 -0
- package/build/editor/publish-post.js.map +1 -0
- package/build/editor/save-draft.js +18 -0
- package/build/editor/save-draft.js.map +1 -0
- package/build/editor/select-blocks.js +28 -0
- package/build/editor/select-blocks.js.map +1 -0
- package/build/editor/set-content.js +17 -0
- package/build/editor/set-content.js.map +1 -0
- package/build/editor/set-is-fixed-toolbar.js +18 -0
- package/build/editor/set-is-fixed-toolbar.js.map +1 -0
- package/build/editor/set-preferences.js +21 -0
- package/build/editor/set-preferences.js.map +1 -0
- package/build/editor/show-block-toolbar.js +19 -0
- package/build/editor/show-block-toolbar.js.map +1 -0
- package/build/editor/site-editor.js +44 -0
- package/build/editor/site-editor.js.map +1 -0
- package/build/editor/switch-editor-tool.js +33 -0
- package/build/editor/switch-editor-tool.js.map +1 -0
- package/build/editor/switch-to-legacy-canvas.js +18 -0
- package/build/editor/switch-to-legacy-canvas.js.map +1 -0
- package/build/editor/transform-block-to.js +24 -0
- package/build/editor/transform-block-to.js.map +1 -0
- package/build/index.js +19 -0
- package/build/index.js.map +1 -0
- package/build/lighthouse/index.js +61 -0
- package/build/lighthouse/index.js.map +1 -0
- package/build/metrics/index.js +314 -0
- package/build/metrics/index.js.map +1 -0
- package/build/page-utils/drag-files.js +119 -0
- package/build/page-utils/drag-files.js.map +1 -0
- package/build/page-utils/emulate-network-conditions.js +71 -0
- package/build/page-utils/emulate-network-conditions.js.map +1 -0
- package/build/page-utils/index.js +37 -0
- package/build/page-utils/index.js.map +1 -0
- package/build/page-utils/is-current-url.js +21 -0
- package/build/page-utils/is-current-url.js.map +1 -0
- package/build/page-utils/keycodes.js +41 -0
- package/build/page-utils/keycodes.js.map +1 -0
- package/build/page-utils/press-keys.js +141 -0
- package/build/page-utils/press-keys.js.map +1 -0
- package/{src → build}/page-utils/set-browser-viewport.js +12 -14
- package/build/page-utils/set-browser-viewport.js.map +1 -0
- package/build/request-utils/blocks.js +40 -0
- package/build/request-utils/blocks.js.map +1 -0
- package/build/request-utils/comments.js +52 -0
- package/build/request-utils/comments.js.map +1 -0
- package/build/request-utils/gutenberg-experiments.js +47 -0
- package/build/request-utils/gutenberg-experiments.js.map +1 -0
- package/build/request-utils/index.js +196 -0
- package/build/request-utils/index.js.map +1 -0
- package/build/request-utils/login.js +21 -0
- package/build/request-utils/login.js.map +1 -0
- package/build/request-utils/media.js +106 -0
- package/build/request-utils/media.js.map +1 -0
- package/build/request-utils/menus.js +116 -0
- package/build/request-utils/menus.js.map +1 -0
- package/build/request-utils/pages.js +53 -0
- package/build/request-utils/pages.js.map +1 -0
- package/build/request-utils/patterns.js +27 -0
- package/build/request-utils/patterns.js.map +1 -0
- package/build/request-utils/plugins.js +85 -0
- package/build/request-utils/plugins.js.map +1 -0
- package/build/request-utils/posts.js +42 -0
- package/build/request-utils/posts.js.map +1 -0
- package/build/request-utils/preferences.js +54 -0
- package/build/request-utils/preferences.js.map +1 -0
- package/{src/request-utils/records.ts → build/request-utils/records.js} +10 -15
- package/build/request-utils/records.js.map +1 -0
- package/build/request-utils/rest.js +181 -0
- package/build/request-utils/rest.js.map +1 -0
- package/build/request-utils/site-settings.js +33 -0
- package/build/request-utils/site-settings.js.map +1 -0
- package/build/request-utils/templates.js +54 -0
- package/build/request-utils/templates.js.map +1 -0
- package/build/request-utils/themes.js +69 -0
- package/build/request-utils/themes.js.map +1 -0
- package/build/request-utils/users.js +81 -0
- package/build/request-utils/users.js.map +1 -0
- package/build/request-utils/widgets.js +61 -0
- package/build/request-utils/widgets.js.map +1 -0
- package/build/test.js +189 -0
- package/build/test.js.map +1 -0
- package/build/types.js +3 -0
- package/build/types.js.map +1 -0
- package/build-types/admin/index.d.ts.map +1 -1
- package/build-types/config.d.ts.map +1 -1
- package/build-types/editor/index.d.ts.map +1 -1
- package/build-types/lighthouse/index.d.ts.map +1 -1
- package/build-types/metrics/index.d.ts.map +1 -1
- package/build-types/page-utils/index.d.ts.map +1 -1
- package/build-types/page-utils/press-keys.d.ts +1 -1
- package/build-types/page-utils/set-browser-viewport.d.ts +22 -12
- package/build-types/page-utils/set-browser-viewport.d.ts.map +1 -1
- package/build-types/request-utils/index.d.ts +2 -2
- package/build-types/request-utils/index.d.ts.map +1 -1
- package/build-types/request-utils/pages.d.ts +1 -1
- package/build-types/request-utils/pages.d.ts.map +1 -1
- package/build-types/request-utils/widgets.d.ts +2 -2
- package/build-types/request-utils/widgets.d.ts.map +1 -1
- package/build-types/types.d.ts.map +1 -1
- package/package.json +8 -5
- package/src/admin/create-new-post.ts +0 -47
- package/src/admin/edit-post.ts +0 -24
- package/src/admin/index.ts +0 -52
- package/src/admin/visit-admin-page.ts +0 -43
- package/src/admin/visit-site-editor.ts +0 -62
- package/src/admin/wait-for-site-editor.ts +0 -52
- package/src/config.ts +0 -12
- package/src/editor/click-block-options-menu-item.ts +0 -18
- package/src/editor/click-block-toolbar-button.ts +0 -21
- package/src/editor/get-blocks.ts +0 -75
- package/src/editor/get-edited-post-content.ts +0 -19
- package/src/editor/index.ts +0 -95
- package/src/editor/insert-block.ts +0 -54
- package/src/editor/open-document-settings-sidebar.ts +0 -31
- package/src/editor/preview.ts +0 -32
- package/src/editor/publish-post.ts +0 -51
- package/src/editor/save-draft.ts +0 -20
- package/src/editor/select-blocks.ts +0 -48
- package/src/editor/set-content.ts +0 -24
- package/src/editor/set-is-fixed-toolbar.ts +0 -20
- package/src/editor/set-preferences.ts +0 -37
- package/src/editor/show-block-toolbar.ts +0 -20
- package/src/editor/site-editor.ts +0 -55
- package/src/editor/switch-editor-tool.ts +0 -34
- package/src/editor/switch-to-legacy-canvas.ts +0 -20
- package/src/editor/transform-block-to.ts +0 -34
- package/src/index.ts +0 -8
- package/src/lighthouse/index.ts +0 -75
- package/src/metrics/index.ts +0 -441
- package/src/page-utils/drag-files.ts +0 -173
- package/src/page-utils/emulate-network-conditions.ts +0 -101
- package/src/page-utils/index.ts +0 -54
- package/src/page-utils/is-current-url.ts +0 -20
- package/src/page-utils/keycodes.ts +0 -48
- package/src/page-utils/press-keys.ts +0 -195
- package/src/request-utils/blocks.ts +0 -58
- package/src/request-utils/comments.ts +0 -80
- package/src/request-utils/gutenberg-experiments.ts +0 -62
- package/src/request-utils/index.ts +0 -222
- package/src/request-utils/login.ts +0 -34
- package/src/request-utils/media.ts +0 -102
- package/src/request-utils/menus.ts +0 -145
- package/src/request-utils/pages.ts +0 -75
- package/src/request-utils/patterns.ts +0 -31
- package/src/request-utils/plugins.ts +0 -103
- package/src/request-utils/posts.ts +0 -69
- package/src/request-utils/preferences.ts +0 -63
- package/src/request-utils/rest.ts +0 -222
- package/src/request-utils/site-settings.ts +0 -58
- package/src/request-utils/templates.ts +0 -83
- package/src/request-utils/themes.ts +0 -110
- package/src/request-utils/users.ts +0 -125
- package/src/request-utils/widgets.js +0 -68
- package/src/test.ts +0 -204
- package/src/types.ts +0 -13
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.saveDraft = saveDraft;
|
|
4
|
+
/**
|
|
5
|
+
* Saves the post as a draft, resolving once the request is complete (once a notice
|
|
6
|
+
* is displayed).
|
|
7
|
+
*/
|
|
8
|
+
async function saveDraft() {
|
|
9
|
+
await this.page
|
|
10
|
+
.getByRole('region', { name: 'Editor top bar' })
|
|
11
|
+
.getByRole('button', { name: 'Save draft' })
|
|
12
|
+
.click();
|
|
13
|
+
await this.page
|
|
14
|
+
.getByRole('button', { name: 'Dismiss this notice' })
|
|
15
|
+
.filter({ hasText: 'Draft saved' })
|
|
16
|
+
.waitFor();
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=save-draft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save-draft.js","sourceRoot":"","sources":["../../src/editor/save-draft.ts"],"names":[],"mappings":";;AASA,8BAUC;AAdD;;;GAGG;AACI,KAAK,UAAU,SAAS;IAC9B,MAAM,IAAI,CAAC,IAAI;SACb,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAE;SACjD,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAE;SAC7C,KAAK,EAAE,CAAC;IAEV,MAAM,IAAI,CAAC,IAAI;SACb,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAE;SACtD,MAAM,CAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAE;SACpC,OAAO,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectBlocks = selectBlocks;
|
|
4
|
+
async function selectBlocks(startSelectorOrLocator, endSelectorOrLocator) {
|
|
5
|
+
const startBlock = typeof startSelectorOrLocator === 'string'
|
|
6
|
+
? this.canvas.locator(startSelectorOrLocator)
|
|
7
|
+
: startSelectorOrLocator;
|
|
8
|
+
const endBlock = typeof endSelectorOrLocator === 'string'
|
|
9
|
+
? this.canvas.locator(endSelectorOrLocator)
|
|
10
|
+
: endSelectorOrLocator;
|
|
11
|
+
const startClientId = await startBlock.getAttribute('data-block');
|
|
12
|
+
const endClientId = await endBlock?.getAttribute('data-block');
|
|
13
|
+
if (endClientId) {
|
|
14
|
+
await this.page.evaluate(([startId, endId]) => {
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
wp.data
|
|
17
|
+
.dispatch('core/block-editor')
|
|
18
|
+
.multiSelect(startId, endId);
|
|
19
|
+
}, [startClientId, endClientId]);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
await this.page.evaluate(([clientId]) => {
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
wp.data.dispatch('core/block-editor').selectBlock(clientId);
|
|
25
|
+
}, [startClientId]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=select-blocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-blocks.js","sourceRoot":"","sources":["../../src/editor/select-blocks.ts"],"names":[],"mappings":";;AAUA,oCAqCC;AArCM,KAAK,UAAU,YAAY,CAEjC,sBAAwC,EACxC,oBAAuC;IAEvC,MAAM,UAAU,GACf,OAAO,sBAAsB,KAAK,QAAQ;QACzC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,sBAAsB,CAAE;QAC/C,CAAC,CAAC,sBAAsB,CAAC;IAE3B,MAAM,QAAQ,GACb,OAAO,oBAAoB,KAAK,QAAQ;QACvC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,oBAAoB,CAAE;QAC7C,CAAC,CAAC,oBAAoB,CAAC;IAEzB,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,YAAY,CAAE,YAAY,CAAE,CAAC;IACpE,MAAM,WAAW,GAAG,MAAM,QAAQ,EAAE,YAAY,CAAE,YAAY,CAAE,CAAC;IAEjE,IAAK,WAAW,EAAG,CAAC;QACnB,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CACvB,CAAE,CAAE,OAAO,EAAE,KAAK,CAAE,EAAG,EAAE;YACxB,aAAa;YACb,EAAE,CAAC,IAAI;iBACL,QAAQ,CAAE,mBAAmB,CAAE;iBAC/B,WAAW,CAAE,OAAO,EAAE,KAAK,CAAE,CAAC;QACjC,CAAC,EACD,CAAE,aAAa,EAAE,WAAW,CAAE,CAC9B,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CACvB,CAAE,CAAE,QAAQ,CAAE,EAAG,EAAE;YAClB,aAAa;YACb,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAE,mBAAmB,CAAE,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAC;QACjE,CAAC,EACD,CAAE,aAAa,CAAE,CACjB,CAAC;IACH,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setContent = setContent;
|
|
4
|
+
/**
|
|
5
|
+
* Set the content of the editor.
|
|
6
|
+
*
|
|
7
|
+
* @param this
|
|
8
|
+
* @param html Serialized block HTML.
|
|
9
|
+
*/
|
|
10
|
+
async function setContent(html) {
|
|
11
|
+
await this.page.waitForFunction(() => window?.wp?.blocks && window?.wp?.data);
|
|
12
|
+
await this.page.evaluate((_html) => {
|
|
13
|
+
const blocks = window.wp.blocks.parse(_html);
|
|
14
|
+
window.wp.data.dispatch('core/block-editor').resetBlocks(blocks);
|
|
15
|
+
}, html);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=set-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-content.js","sourceRoot":"","sources":["../../src/editor/set-content.ts"],"names":[],"mappings":";;AAuBS,gCAAU;AAlBnB;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CAAgB,IAAY;IACpD,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAC9B,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM,EAAE,EAAE,EAAE,IAAI,CAC5C,CAAC;IAEF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAE,KAAK,EAAG,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC;QAE/C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAE,mBAAmB,CAAE,CAAC,WAAW,CAAE,MAAM,CAAE,CAAC;IACtE,CAAC,EAAE,IAAI,CAAE,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setIsFixedToolbar = setIsFixedToolbar;
|
|
4
|
+
/**
|
|
5
|
+
* Toggles the fixed toolbar option.
|
|
6
|
+
*
|
|
7
|
+
* @param this
|
|
8
|
+
* @param isFixed Boolean value true/false for on/off.
|
|
9
|
+
*/
|
|
10
|
+
async function setIsFixedToolbar(isFixed) {
|
|
11
|
+
await this.page.waitForFunction(() => window?.wp?.data);
|
|
12
|
+
await this.page.evaluate((_isFixed) => {
|
|
13
|
+
window.wp.data
|
|
14
|
+
.dispatch('core/preferences')
|
|
15
|
+
.set('core', 'fixedToolbar', _isFixed);
|
|
16
|
+
}, isFixed);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=set-is-fixed-toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-is-fixed-toolbar.js","sourceRoot":"","sources":["../../src/editor/set-is-fixed-toolbar.ts"],"names":[],"mappings":";;AAWA,8CAQC;AAdD;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CAAgB,OAAgB;IACtE,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAE,CAAC;IAE1D,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAE,QAAQ,EAAG,EAAE;QACxC,MAAM,CAAC,EAAE,CAAC,IAAI;aACZ,QAAQ,CAAE,kBAAkB,CAAE;aAC9B,GAAG,CAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAE,CAAC;IAC3C,CAAC,EAAE,OAAO,CAAE,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setPreferences = setPreferences;
|
|
4
|
+
/**
|
|
5
|
+
* Set the preferences of the editor.
|
|
6
|
+
*
|
|
7
|
+
* @param this
|
|
8
|
+
* @param context Context to set preferences for.
|
|
9
|
+
* @param preferences Preferences to set.
|
|
10
|
+
*/
|
|
11
|
+
async function setPreferences(context, preferences) {
|
|
12
|
+
await this.page.waitForFunction(() => window?.wp?.data);
|
|
13
|
+
await this.page.evaluate(async (props) => {
|
|
14
|
+
for (const [key, value] of Object.entries(props.preferences)) {
|
|
15
|
+
await window.wp.data
|
|
16
|
+
.dispatch('core/preferences')
|
|
17
|
+
.set(props.context, key, value);
|
|
18
|
+
}
|
|
19
|
+
}, { context, preferences });
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=set-preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-preferences.js","sourceRoot":"","sources":["../../src/editor/set-preferences.ts"],"names":[],"mappings":";;AAiBA,wCAmBC;AA1BD;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAEnC,OAA2B,EAC3B,WAAkC;IAElC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAE,CAAC;IAE1D,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CACvB,KAAK,EAAG,KAAK,EAAG,EAAE;QACjB,KAAM,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAC3C,KAAK,CAAC,WAAW,CACjB,EAAG,CAAC;YACJ,MAAM,MAAM,CAAC,EAAE,CAAC,IAAI;iBAClB,QAAQ,CAAE,kBAAkB,CAAE;iBAC9B,GAAG,CAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAE,CAAC;QACpC,CAAC;IACF,CAAC,EACD,EAAE,OAAO,EAAE,WAAW,EAAE,CACxB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.showBlockToolbar = showBlockToolbar;
|
|
4
|
+
/**
|
|
5
|
+
* The block toolbar is not always visible while typing.
|
|
6
|
+
* Call this function to reveal it.
|
|
7
|
+
*
|
|
8
|
+
* @param this
|
|
9
|
+
*/
|
|
10
|
+
async function showBlockToolbar() {
|
|
11
|
+
// Move the mouse to disable the isTyping mode. We need at least three
|
|
12
|
+
// mousemove events for it to work across windows (iframe). With three
|
|
13
|
+
// moves, it's a guarantee that at least two will be in the same window.
|
|
14
|
+
// Two events are required for the flag to be unset.
|
|
15
|
+
await this.page.mouse.move(50, 50);
|
|
16
|
+
await this.page.mouse.move(75, 75);
|
|
17
|
+
await this.page.mouse.move(100, 100);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=show-block-toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show-block-toolbar.js","sourceRoot":"","sources":["../../src/editor/show-block-toolbar.ts"],"names":[],"mappings":";;AAWA,4CAQC;AAdD;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB;IACrC,sEAAsE;IACtE,sEAAsE;IACtE,wEAAwE;IACxE,oDAAoD;IACpD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,CAAE,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,GAAG,EAAE,GAAG,CAAE,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.saveSiteEditorEntities = saveSiteEditorEntities;
|
|
4
|
+
/**
|
|
5
|
+
* Save entities in the site editor. Assumes the editor is in a dirty state.
|
|
6
|
+
*
|
|
7
|
+
* @param this
|
|
8
|
+
* @param options
|
|
9
|
+
*/
|
|
10
|
+
async function saveSiteEditorEntities(options = {}) {
|
|
11
|
+
const editorTopBar = this.page.getByRole('region', {
|
|
12
|
+
name: 'Editor top bar',
|
|
13
|
+
});
|
|
14
|
+
// If we have changes in a single entity which can be published the label is `Publish`.
|
|
15
|
+
const saveButton = editorTopBar.getByRole('button', {
|
|
16
|
+
name: 'Save',
|
|
17
|
+
exact: true,
|
|
18
|
+
});
|
|
19
|
+
const publishButton = editorTopBar.getByRole('button', {
|
|
20
|
+
name: 'Publish',
|
|
21
|
+
});
|
|
22
|
+
const publishButtonIsVisible = !(await saveButton.isVisible());
|
|
23
|
+
// First Save button in the top bar.
|
|
24
|
+
const buttonToClick = publishButtonIsVisible ? publishButton : saveButton;
|
|
25
|
+
await buttonToClick.click();
|
|
26
|
+
if (!options.isOnlyCurrentEntityDirty) {
|
|
27
|
+
// Second Save button in the entities panel.
|
|
28
|
+
await this.page
|
|
29
|
+
.getByRole('region', {
|
|
30
|
+
name: /(Editor publish|Save panel)/,
|
|
31
|
+
})
|
|
32
|
+
.getByRole('button', { name: 'Save', exact: true })
|
|
33
|
+
.click();
|
|
34
|
+
}
|
|
35
|
+
// The text in the notice can be different based on the edited entity, whether
|
|
36
|
+
// we are saving multiple entities and whether we publish or update. So for now,
|
|
37
|
+
// we locate it based on the last part.
|
|
38
|
+
await this.page
|
|
39
|
+
.getByRole('button', { name: 'Dismiss this notice' })
|
|
40
|
+
.getByText(/(updated|published)\./)
|
|
41
|
+
.first()
|
|
42
|
+
.waitFor();
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=site-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-editor.js","sourceRoot":"","sources":["../../src/editor/site-editor.ts"],"names":[],"mappings":";;AAgBA,wDAsCC;AA5CD;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAE3C,UAAmB,EAAE;IAErB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAE,QAAQ,EAAE;QACnD,IAAI,EAAE,gBAAgB;KACtB,CAAE,CAAC;IAEJ,uFAAuF;IACvF,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAE,QAAQ,EAAE;QACpD,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI;KACX,CAAE,CAAC;IACJ,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAE,QAAQ,EAAE;QACvD,IAAI,EAAE,SAAS;KACf,CAAE,CAAC;IACJ,MAAM,sBAAsB,GAAG,CAAE,CAAE,MAAM,UAAU,CAAC,SAAS,EAAE,CAAE,CAAC;IAClE,oCAAoC;IACpC,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1E,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;IAE5B,IAAK,CAAE,OAAO,CAAC,wBAAwB,EAAG,CAAC;QAC1C,4CAA4C;QAC5C,MAAM,IAAI,CAAC,IAAI;aACb,SAAS,CAAE,QAAQ,EAAE;YACrB,IAAI,EAAE,6BAA6B;SACnC,CAAE;aACF,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAE;aACpD,KAAK,EAAE,CAAC;IACX,CAAC;IACD,8EAA8E;IAC9E,gFAAgF;IAChF,uCAAuC;IACvC,MAAM,IAAI,CAAC,IAAI;SACb,SAAS,CAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAE;SACtD,SAAS,CAAE,uBAAuB,CAAE;SACpC,KAAK,EAAE;SACP,OAAO,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.switchEditorTool = switchEditorTool;
|
|
4
|
+
/**
|
|
5
|
+
* Switch the editor tool being used.
|
|
6
|
+
*
|
|
7
|
+
* @param this
|
|
8
|
+
* @param label The text string of the button label.
|
|
9
|
+
*/
|
|
10
|
+
async function switchEditorTool(label) {
|
|
11
|
+
const toolsToolbar = this.page.getByRole('toolbar', {
|
|
12
|
+
name: 'Document tools',
|
|
13
|
+
});
|
|
14
|
+
await toolsToolbar
|
|
15
|
+
.getByRole('button', {
|
|
16
|
+
name: 'Tools',
|
|
17
|
+
})
|
|
18
|
+
.click();
|
|
19
|
+
const menu = this.page.getByRole('menu', {
|
|
20
|
+
name: 'Tools',
|
|
21
|
+
});
|
|
22
|
+
await menu
|
|
23
|
+
.getByRole('menuitemradio', {
|
|
24
|
+
name: label,
|
|
25
|
+
})
|
|
26
|
+
.click();
|
|
27
|
+
await toolsToolbar
|
|
28
|
+
.getByRole('button', {
|
|
29
|
+
name: 'Tools',
|
|
30
|
+
})
|
|
31
|
+
.click();
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=switch-editor-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch-editor-tool.js","sourceRoot":"","sources":["../../src/editor/switch-editor-tool.ts"],"names":[],"mappings":";;AAWA,4CAsBC;AA5BD;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAgB,KAAa;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAE,SAAS,EAAE;QACpD,IAAI,EAAE,gBAAgB;KACtB,CAAE,CAAC;IACJ,MAAM,YAAY;SAChB,SAAS,CAAE,QAAQ,EAAE;QACrB,IAAI,EAAE,OAAO;KACb,CAAE;SACF,KAAK,EAAE,CAAC;IACV,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAE,MAAM,EAAE;QACzC,IAAI,EAAE,OAAO;KACb,CAAE,CAAC;IACJ,MAAM,IAAI;SACR,SAAS,CAAE,eAAe,EAAE;QAC5B,IAAI,EAAE,KAAK;KACX,CAAE;SACF,KAAK,EAAE,CAAC;IACV,MAAM,YAAY;SAChB,SAAS,CAAE,QAAQ,EAAE;QACrB,IAAI,EAAE,OAAO;KACb,CAAE;SACF,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.switchToLegacyCanvas = switchToLegacyCanvas;
|
|
4
|
+
/**
|
|
5
|
+
* Switches to legacy (non-iframed) canvas.
|
|
6
|
+
*
|
|
7
|
+
* @param this
|
|
8
|
+
*/
|
|
9
|
+
async function switchToLegacyCanvas() {
|
|
10
|
+
await this.page.waitForFunction(() => window?.wp?.blocks);
|
|
11
|
+
await this.page.evaluate(() => {
|
|
12
|
+
window.wp.blocks.registerBlockType('test/v2', {
|
|
13
|
+
apiVersion: '2',
|
|
14
|
+
title: 'test',
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=switch-to-legacy-canvas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch-to-legacy-canvas.js","sourceRoot":"","sources":["../../src/editor/switch-to-legacy-canvas.ts"],"names":[],"mappings":";;AAUA,oDASC;AAdD;;;;GAIG;AACI,KAAK,UAAU,oBAAoB;IACzC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAE,CAAC;IAE5D,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAE,SAAS,EAAE;YAC9C,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,MAAM;SACb,CAAE,CAAC;IACL,CAAC,CAAE,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transformBlockTo = transformBlockTo;
|
|
4
|
+
/**
|
|
5
|
+
* Clicks the default block appender.
|
|
6
|
+
*
|
|
7
|
+
* @param this
|
|
8
|
+
* @param name Block name.
|
|
9
|
+
*/
|
|
10
|
+
async function transformBlockTo(name) {
|
|
11
|
+
await this.page.waitForFunction(() => window?.wp?.blocks && window?.wp?.data);
|
|
12
|
+
await this.page.evaluate(([blockName]) => {
|
|
13
|
+
const clientIds = window.wp.data
|
|
14
|
+
.select('core/block-editor')
|
|
15
|
+
.getSelectedBlockClientIds();
|
|
16
|
+
const blocks = window.wp.data
|
|
17
|
+
.select('core/block-editor')
|
|
18
|
+
.getBlocksByClientId(clientIds);
|
|
19
|
+
window.wp.data
|
|
20
|
+
.dispatch('core/block-editor')
|
|
21
|
+
.replaceBlocks(clientIds, window.wp.blocks.switchToBlockType(blocks, blockName));
|
|
22
|
+
}, [name]);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=transform-block-to.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-block-to.js","sourceRoot":"","sources":["../../src/editor/transform-block-to.ts"],"names":[],"mappings":";;AAWA,4CAsBC;AA5BD;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAgB,IAAY;IACjE,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAC9B,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM,EAAE,EAAE,EAAE,IAAI,CAC5C,CAAC;IAEF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CACvB,CAAE,CAAE,SAAS,CAAE,EAAG,EAAE;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI;aAC9B,MAAM,CAAE,mBAAmB,CAAE;aAC7B,yBAAyB,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI;aAC3B,MAAM,CAAE,mBAAmB,CAAE;aAC7B,mBAAmB,CAAE,SAAS,CAAE,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,IAAI;aACZ,QAAQ,CAAE,mBAAmB,CAAE;aAC/B,aAAa,CACb,SAAS,EACT,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAE,MAAM,EAAE,SAAS,CAAE,CACvD,CAAC;IACJ,CAAC,EACD,CAAE,IAAI,CAAE,CACR,CAAC;AACH,CAAC"}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expect = exports.test = exports.Lighthouse = exports.Metrics = exports.RequestUtils = exports.PageUtils = exports.Editor = exports.Admin = void 0;
|
|
4
|
+
var admin_1 = require("./admin");
|
|
5
|
+
Object.defineProperty(exports, "Admin", { enumerable: true, get: function () { return admin_1.Admin; } });
|
|
6
|
+
var editor_1 = require("./editor");
|
|
7
|
+
Object.defineProperty(exports, "Editor", { enumerable: true, get: function () { return editor_1.Editor; } });
|
|
8
|
+
var page_utils_1 = require("./page-utils");
|
|
9
|
+
Object.defineProperty(exports, "PageUtils", { enumerable: true, get: function () { return page_utils_1.PageUtils; } });
|
|
10
|
+
var request_utils_1 = require("./request-utils");
|
|
11
|
+
Object.defineProperty(exports, "RequestUtils", { enumerable: true, get: function () { return request_utils_1.RequestUtils; } });
|
|
12
|
+
var metrics_1 = require("./metrics");
|
|
13
|
+
Object.defineProperty(exports, "Metrics", { enumerable: true, get: function () { return metrics_1.Metrics; } });
|
|
14
|
+
var lighthouse_1 = require("./lighthouse");
|
|
15
|
+
Object.defineProperty(exports, "Lighthouse", { enumerable: true, get: function () { return lighthouse_1.Lighthouse; } });
|
|
16
|
+
var test_1 = require("./test");
|
|
17
|
+
Object.defineProperty(exports, "test", { enumerable: true, get: function () { return test_1.test; } });
|
|
18
|
+
Object.defineProperty(exports, "expect", { enumerable: true, get: function () { return test_1.expect; } });
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+BAAsC;AAA7B,4FAAA,IAAI,OAAA;AAAE,8FAAA,MAAM,OAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Lighthouse = void 0;
|
|
7
|
+
const index_cjs_1 = __importDefault(require("lighthouse/core/index.cjs"));
|
|
8
|
+
class Lighthouse {
|
|
9
|
+
page;
|
|
10
|
+
port;
|
|
11
|
+
constructor({ page, port }) {
|
|
12
|
+
this.page = page;
|
|
13
|
+
this.port = port;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns the Lighthouse report for the current URL.
|
|
17
|
+
*
|
|
18
|
+
* Runs several Lighthouse audits in a separate browser window and returns
|
|
19
|
+
* the summary.
|
|
20
|
+
*/
|
|
21
|
+
async getReport() {
|
|
22
|
+
// From https://github.com/GoogleChrome/lighthouse/blob/36cac182a6c637b1671c57326d7c0241633d0076/core/config/default-config.js#L381-L446
|
|
23
|
+
const audits = {
|
|
24
|
+
'largest-contentful-paint': 'LCP',
|
|
25
|
+
'total-blocking-time': 'TBT',
|
|
26
|
+
interactive: 'TTI',
|
|
27
|
+
'cumulative-layout-shift': 'CLS',
|
|
28
|
+
'interaction-to-next-paint': 'INP',
|
|
29
|
+
};
|
|
30
|
+
const report = await (0, index_cjs_1.default)(this.page.url(), { port: this.port }, {
|
|
31
|
+
extends: 'lighthouse:default',
|
|
32
|
+
settings: {
|
|
33
|
+
// "provided" means no throttling.
|
|
34
|
+
// TODO: Make configurable.
|
|
35
|
+
throttlingMethod: 'provided',
|
|
36
|
+
// Default is "mobile".
|
|
37
|
+
// See https://github.com/GoogleChrome/lighthouse/blob/main/docs/emulation.md
|
|
38
|
+
// TODO: Make configurable.
|
|
39
|
+
formFactor: 'desktop',
|
|
40
|
+
screenEmulation: {
|
|
41
|
+
disabled: true,
|
|
42
|
+
},
|
|
43
|
+
// Speeds up the report.
|
|
44
|
+
disableFullPageScreenshot: true,
|
|
45
|
+
// Only run certain audits to speed things up.
|
|
46
|
+
onlyAudits: Object.keys(audits),
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
const result = {};
|
|
50
|
+
if (!report) {
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
const { lhr } = report;
|
|
54
|
+
for (const [audit, acronym] of Object.entries(audits)) {
|
|
55
|
+
result[acronym] = lhr.audits[audit]?.numericValue || 0;
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.Lighthouse = Lighthouse;
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lighthouse/index.ts"],"names":[],"mappings":";;;;;;AAIA,0EAAmD;AAOnD,MAAa,UAAU;IACtB,IAAI,CAAO;IACX,IAAI,CAAS;IAEb,YAAa,EAAE,IAAI,EAAE,IAAI,EAA8B;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS;QACd,wIAAwI;QACxI,MAAM,MAAM,GAAG;YACd,0BAA0B,EAAE,KAAK;YACjC,qBAAqB,EAAE,KAAK;YAC5B,WAAW,EAAE,KAAK;YAClB,yBAAyB,EAAE,KAAK;YAChC,2BAA2B,EAAE,KAAK;SAClC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EACf,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACnB;YACC,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE;gBACT,kCAAkC;gBAClC,2BAA2B;gBAC3B,gBAAgB,EAAE,UAAU;gBAC5B,uBAAuB;gBACvB,6EAA6E;gBAC7E,2BAA2B;gBAC3B,UAAU,EAAE,SAAS;gBACrB,eAAe,EAAE;oBAChB,QAAQ,EAAE,IAAI;iBACd;gBACD,wBAAwB;gBACxB,yBAAyB,EAAE,IAAI;gBAC/B,8CAA8C;gBAC9C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE;aACjC;SACD,CACD,CAAC;QAEF,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,IAAK,CAAE,MAAM,EAAG,CAAC;YAChB,OAAO,MAAM,CAAC;QACf,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAEvB,KAAM,MAAM,CAAE,KAAK,EAAE,OAAO,CAAE,IAAI,MAAM,CAAC,OAAO,CAAE,MAAM,CAAE,EAAG,CAAC;YAC7D,MAAM,CAAE,OAAO,CAAE,GAAG,GAAG,CAAC,MAAM,CAAE,KAAK,CAAE,EAAE,YAAY,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AA/DD,gCA+DC"}
|