@wordpress/e2e-tests 4.2.0 → 4.5.0
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/config/flaky-tests-reporter.js +3 -3
- package/package.json +6 -6
- package/specs/editor/blocks/__snapshots__/buttons.test.js.snap +4 -4
- package/specs/editor/blocks/__snapshots__/heading.test.js.snap +0 -6
- package/specs/editor/blocks/cover.test.js +10 -14
- package/specs/editor/blocks/heading.test.js +7 -7
- package/specs/editor/blocks/navigation.test.js +69 -16
- package/specs/editor/blocks/table.test.js +16 -4
- package/specs/editor/fixtures/menu-items-response-fixture.json +48 -144
- package/specs/editor/plugins/cpt-locking.test.js +2 -3
- package/specs/editor/plugins/iframed-inline-styles.test.js +1 -0
- package/specs/editor/plugins/inner-blocks-allowed-blocks.test.js +3 -1
- package/specs/editor/various/__snapshots__/inserting-blocks.test.js.snap +1 -1
- package/specs/editor/various/block-switcher.test.js +3 -0
- package/specs/editor/various/datepicker.test.js +21 -7
- package/specs/editor/various/embedding.test.js +2 -4
- package/specs/editor/various/inserting-blocks.test.js +1 -1
- package/specs/editor/various/keyboard-navigable-blocks.test.js +0 -3
- package/specs/editor/various/links.test.js +2 -3
- package/specs/editor/various/navigable-toolbar.test.js +2 -3
- package/specs/editor/various/post-visibility.test.js +1 -1
- package/specs/editor/various/publishing.test.js +4 -2
- package/specs/editor/various/scheduling.test.js +2 -2
- package/specs/editor/various/switch-to-draft.test.js +1 -1
- package/specs/editor/various/taxonomies.test.js +8 -7
- package/specs/editor/various/writing-flow.test.js +19 -16
- package/specs/experiments/navigation-editor.test.js +4 -6
- package/specs/performance/post-editor.test.js +10 -14
- package/specs/performance/site-editor.test.js +2 -5
- package/specs/widgets/editing-widgets.test.js +12 -8
- package/specs/editor/blocks/__snapshots__/code.test.js.snap +0 -14
- package/specs/editor/blocks/__snapshots__/html.test.js.snap +0 -8
- package/specs/editor/blocks/__snapshots__/image.test.js.snap +0 -25
- package/specs/editor/blocks/__snapshots__/preformatted.test.js.snap +0 -24
- package/specs/editor/blocks/__snapshots__/separator.test.js.snap +0 -7
- package/specs/editor/blocks/code.test.js +0 -48
- package/specs/editor/blocks/html.test.js +0 -31
- package/specs/editor/blocks/image.test.js +0 -373
- package/specs/editor/blocks/preformatted.test.js +0 -62
- package/specs/editor/blocks/separator.test.js +0 -22
- package/specs/editor/various/block-locking.test.js +0 -120
- package/specs/editor/various/popovers.test.js +0 -27
- package/specs/site-editor/template-part.test.js +0 -346
- package/specs/site-editor/template-revert.test.js +0 -209
@@ -49,13 +49,13 @@ class FlakyTestsReporter {
|
|
49
49
|
}
|
50
50
|
case 'passed': {
|
51
51
|
if ( this.failingTestCaseResults.has( testTitle ) ) {
|
52
|
-
const failingResults =
|
53
|
-
testTitle
|
54
|
-
);
|
52
|
+
const failingResults =
|
53
|
+
this.failingTestCaseResults.get( testTitle );
|
55
54
|
|
56
55
|
await fs.writeFile(
|
57
56
|
`flaky-tests/${ filenamify( testTitle ) }.json`,
|
58
57
|
JSON.stringify( {
|
58
|
+
version: 1,
|
59
59
|
runner: 'jest-circus',
|
60
60
|
title: testTitle,
|
61
61
|
path: testPath,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wordpress/e2e-tests",
|
3
|
-
"version": "4.
|
3
|
+
"version": "4.5.0",
|
4
4
|
"description": "End-To-End (E2E) tests for WordPress.",
|
5
5
|
"author": "The WordPress Contributors",
|
6
6
|
"license": "GPL-2.0-or-later",
|
@@ -23,11 +23,11 @@
|
|
23
23
|
"node": ">=12"
|
24
24
|
},
|
25
25
|
"dependencies": {
|
26
|
-
"@wordpress/e2e-test-utils": "^7.
|
27
|
-
"@wordpress/jest-console": "^5.0
|
26
|
+
"@wordpress/e2e-test-utils": "^7.7.0",
|
27
|
+
"@wordpress/jest-console": "^5.3.0",
|
28
28
|
"@wordpress/jest-puppeteer-axe": "^4.0.2",
|
29
|
-
"@wordpress/scripts": "^23.
|
30
|
-
"@wordpress/url": "^3.
|
29
|
+
"@wordpress/scripts": "^23.3.0",
|
30
|
+
"@wordpress/url": "^3.12.0",
|
31
31
|
"chalk": "^4.0.0",
|
32
32
|
"expect-puppeteer": "^4.4.0",
|
33
33
|
"filenamify": "^4.2.0",
|
@@ -46,5 +46,5 @@
|
|
46
46
|
"publishConfig": {
|
47
47
|
"access": "public"
|
48
48
|
},
|
49
|
-
"gitHead": "
|
49
|
+
"gitHead": "48d5f37dfb52d2e77c8eeb662f9874cf141b8c6b"
|
50
50
|
}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
exports[`Buttons can jump to the link editor using the keyboard shortcut 1`] = `
|
4
4
|
"<!-- wp:buttons -->
|
5
5
|
<div class=\\"wp-block-buttons\\"><!-- wp:button -->
|
6
|
-
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link\\" href=\\"https://www.wordpress.org/\\">WordPress</a></div>
|
6
|
+
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\" href=\\"https://www.wordpress.org/\\">WordPress</a></div>
|
7
7
|
<!-- /wp:button --></div>
|
8
8
|
<!-- /wp:buttons -->"
|
9
9
|
`;
|
@@ -11,7 +11,7 @@ exports[`Buttons can jump to the link editor using the keyboard shortcut 1`] = `
|
|
11
11
|
exports[`Buttons dismisses link editor when escape is pressed 1`] = `
|
12
12
|
"<!-- wp:buttons -->
|
13
13
|
<div class=\\"wp-block-buttons\\"><!-- wp:button -->
|
14
|
-
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link\\">WordPress</a></div>
|
14
|
+
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\">WordPress</a></div>
|
15
15
|
<!-- /wp:button --></div>
|
16
16
|
<!-- /wp:buttons -->"
|
17
17
|
`;
|
@@ -19,7 +19,7 @@ exports[`Buttons dismisses link editor when escape is pressed 1`] = `
|
|
19
19
|
exports[`Buttons has focus on button content (slash inserter) 1`] = `
|
20
20
|
"<!-- wp:buttons -->
|
21
21
|
<div class=\\"wp-block-buttons\\"><!-- wp:button -->
|
22
|
-
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link\\">Content</a></div>
|
22
|
+
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\">Content</a></div>
|
23
23
|
<!-- /wp:button --></div>
|
24
24
|
<!-- /wp:buttons -->"
|
25
25
|
`;
|
@@ -27,7 +27,7 @@ exports[`Buttons has focus on button content (slash inserter) 1`] = `
|
|
27
27
|
exports[`Buttons has focus on button content 1`] = `
|
28
28
|
"<!-- wp:buttons -->
|
29
29
|
<div class=\\"wp-block-buttons\\"><!-- wp:button -->
|
30
|
-
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link\\">Content</a></div>
|
30
|
+
<div class=\\"wp-block-button\\"><a class=\\"wp-block-button__link wp-element-button\\">Content</a></div>
|
31
31
|
<!-- /wp:button --></div>
|
32
32
|
<!-- /wp:buttons -->"
|
33
33
|
`;
|
@@ -12,12 +12,6 @@ exports[`Heading can be created by prefixing number sign and a space 1`] = `
|
|
12
12
|
<!-- /wp:heading -->"
|
13
13
|
`;
|
14
14
|
|
15
|
-
exports[`Heading should correctly apply custom colors 1`] = `
|
16
|
-
"<!-- wp:heading {\\"level\\":3,\\"style\\":{\\"color\\":{\\"text\\":\\"#0782f6\\"}}} -->
|
17
|
-
<h3 class=\\"has-text-color\\" style=\\"color:#0782f6\\">Heading</h3>
|
18
|
-
<!-- /wp:heading -->"
|
19
|
-
`;
|
20
|
-
|
21
15
|
exports[`Heading should correctly apply named colors 1`] = `
|
22
16
|
"<!-- wp:heading {\\"textColor\\":\\"luminous-vivid-orange\\"} -->
|
23
17
|
<h2 class=\\"has-luminous-vivid-orange-color has-text-color\\">Heading</h2>
|
@@ -84,13 +84,11 @@ describe( 'Cover', () => {
|
|
84
84
|
const backgroundDim = await page.waitForSelector(
|
85
85
|
'.wp-block-cover .has-background-dim'
|
86
86
|
);
|
87
|
-
const [
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
return [ computedStyle.backgroundColor, computedStyle.opacity ];
|
93
|
-
}, backgroundDim );
|
87
|
+
const [ backgroundDimColor, backgroundDimOpacity ] =
|
88
|
+
await page.evaluate( ( el ) => {
|
89
|
+
const computedStyle = window.getComputedStyle( el );
|
90
|
+
return [ computedStyle.backgroundColor, computedStyle.opacity ];
|
91
|
+
}, backgroundDim );
|
94
92
|
|
95
93
|
expect( backgroundDimColor ).toBe( 'rgb(0, 0, 0)' );
|
96
94
|
expect( backgroundDimOpacity ).toBe( '0.5' );
|
@@ -210,13 +208,11 @@ describe( 'Cover', () => {
|
|
210
208
|
const backgroundDim = await page.waitForSelector(
|
211
209
|
'.wp-block-cover .has-background-dim'
|
212
210
|
);
|
213
|
-
const [
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
return [ computedStyle.backgroundColor, computedStyle.opacity ];
|
219
|
-
}, backgroundDim );
|
211
|
+
const [ backgroundDimColor, backgroundDimOpacity ] =
|
212
|
+
await page.evaluate( ( el ) => {
|
213
|
+
const computedStyle = window.getComputedStyle( el );
|
214
|
+
return [ computedStyle.backgroundColor, computedStyle.opacity ];
|
215
|
+
}, backgroundDim );
|
220
216
|
|
221
217
|
expect( backgroundDimColor ).toBe( 'rgb(0, 0, 0)' );
|
222
218
|
expect( backgroundDimOpacity ).toBe( '0.5' );
|
@@ -12,8 +12,6 @@ describe( 'Heading', () => {
|
|
12
12
|
const COLOR_ITEM_SELECTOR =
|
13
13
|
'.block-editor-panel-color-gradient-settings__dropdown';
|
14
14
|
const CUSTOM_COLOR_BUTTON_X_SELECTOR = `.components-color-palette__custom-color`;
|
15
|
-
const CUSTOM_COLOR_DETAILS_BUTTON_SELECTOR =
|
16
|
-
'.components-color-picker button[aria-label="Show detailed inputs"]';
|
17
15
|
const COLOR_INPUT_FIELD_SELECTOR =
|
18
16
|
'.components-color-picker .components-input-control__input';
|
19
17
|
|
@@ -82,14 +80,16 @@ describe( 'Heading', () => {
|
|
82
80
|
);
|
83
81
|
|
84
82
|
await customTextColorButton.click();
|
85
|
-
await page.click( CUSTOM_COLOR_DETAILS_BUTTON_SELECTOR );
|
86
83
|
await page.waitForSelector( COLOR_INPUT_FIELD_SELECTOR );
|
87
84
|
await page.click( COLOR_INPUT_FIELD_SELECTOR );
|
88
85
|
await pressKeyWithModifier( 'primary', 'A' );
|
89
|
-
await page.keyboard.type( '
|
90
|
-
await page.
|
91
|
-
await
|
92
|
-
|
86
|
+
await page.keyboard.type( '4b7f4d' );
|
87
|
+
await page.keyboard.press( 'Enter' );
|
88
|
+
expect( await getEditedPostContent() ).toMatchInlineSnapshot( `
|
89
|
+
"<!-- wp:heading {\\"level\\":3,\\"style\\":{\\"color\\":{\\"text\\":\\"#4b7f4d\\"}}} -->
|
90
|
+
<h3 class=\\"has-text-color\\" style=\\"color:#4b7f4d\\">Heading</h3>
|
91
|
+
<!-- /wp:heading -->"
|
92
|
+
` );
|
93
93
|
} );
|
94
94
|
|
95
95
|
it( 'should correctly apply named colors', async () => {
|
@@ -399,11 +399,14 @@ describe( 'Navigation', () => {
|
|
399
399
|
// relying on variable factors such as network conditions.
|
400
400
|
await setUpResponseMocking( [
|
401
401
|
{
|
402
|
-
match: ( request ) =>
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
402
|
+
match: ( request ) => {
|
403
|
+
return (
|
404
|
+
[ 'GET', 'OPTIONS' ].includes( request.method() ) &&
|
405
|
+
decodeURIComponent( request.url() ).includes(
|
406
|
+
`navigation/${ testNavId }`
|
407
|
+
)
|
408
|
+
);
|
409
|
+
},
|
407
410
|
onRequestMatch: ( request ) => {
|
408
411
|
// The Promise simulates a REST API request whose resolultion
|
409
412
|
// the test has full control over.
|
@@ -417,7 +420,9 @@ describe( 'Navigation', () => {
|
|
417
420
|
},
|
418
421
|
},
|
419
422
|
] );
|
420
|
-
|
423
|
+
/*
|
424
|
+
Expected mock function not to be called but it was called with: ["POST", "http://localhost:8889/wp-admin/admin-ajax.php", "http://localhost:8889/wp-admin/admin-ajax.php"],["GET", "http://localhost:8889/wp-admin/post-new.php", "http://localhost:8889/wp-admin/post-new.php"],["GET", "http://localhost:8889/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.16", "http://localhost:8889/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.16"],["GET", "http://localhost:8889/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.1-alpha-53506", "http://localhost:8889/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.1-alpha-53506"],["GET", "http://localhost:8889/wp-includes/js/imgareaselect/imgareaselect.css?ver=0.9.8", "http://localhost:8889/wp-includes/js/imgareaselect/imgareaselect.css?ver=0.9.8"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/components/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/components/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-editor/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-editor/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/nux/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/nux/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/reusable-blocks/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/reusable-blocks/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/editor/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/editor/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/reset.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/reset.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/edit-post/classic.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/edit-post/classic.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/editor.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/editor.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/edit-post/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/edit-post/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-directory/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-directory/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/format-library/style.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/format-library/style.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/themes/twentytwentyone/assets/css/custom-color-overrides.css?ver=1.6", "http://localhost:8889/wp-content/themes/twentytwentyone/assets/css/custom-color-overrides.css?ver=1.6"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/theme.css?ver=1655290402", "http://localhost:8889/wp-content/plugins/gutenberg/build/block-library/theme.css?ver=1655290402"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/blob/index.min.js?ver=bccaf46e493181a8db9a", "http://localhost:8889/wp-content/plugins/gutenberg/build/blob/index.min.js?ver=bccaf46e493181a8db9a"],["GET", "http://localhost:8889/wp-content/plugins/gutenberg/build/autop/index.min.js?ver=b1a2f86387be4fa46f89", "http://loca
|
425
|
+
*/
|
421
426
|
await createNewPost();
|
422
427
|
await clickOnMoreMenuItem( 'Code editor' );
|
423
428
|
const codeEditorInput = await page.waitForSelector(
|
@@ -807,6 +812,58 @@ describe( 'Navigation', () => {
|
|
807
812
|
);
|
808
813
|
} );
|
809
814
|
|
815
|
+
it( 'correctly decodes special characters in the created Page title for display', async () => {
|
816
|
+
await createNewPost();
|
817
|
+
await insertBlock( 'Navigation' );
|
818
|
+
const startEmptyButton = await page.waitForXPath( START_EMPTY_XPATH );
|
819
|
+
await startEmptyButton.click();
|
820
|
+
const appender = await page.waitForSelector(
|
821
|
+
'.wp-block-navigation .block-list-appender'
|
822
|
+
);
|
823
|
+
await appender.click();
|
824
|
+
|
825
|
+
// Wait for URL input to be focused
|
826
|
+
// Insert name for the new page.
|
827
|
+
const pageTitle = 'This & That & Some < other > chars';
|
828
|
+
const input = await page.waitForSelector(
|
829
|
+
'input.block-editor-url-input__input:focus'
|
830
|
+
);
|
831
|
+
await input.type( pageTitle );
|
832
|
+
|
833
|
+
// When creating a page, the URLControl makes a request to the
|
834
|
+
// url-details endpoint to fetch information about the page.
|
835
|
+
// Because the draft is inaccessible publicly, this request
|
836
|
+
// returns a 404 response. Wait for the response and expect
|
837
|
+
// the error to have occurred.
|
838
|
+
const createPageButton = await page.waitForSelector(
|
839
|
+
'.block-editor-link-control__search-create'
|
840
|
+
);
|
841
|
+
const responsePromise = page.waitForResponse(
|
842
|
+
( response ) =>
|
843
|
+
response.url().includes( 'url-details' ) &&
|
844
|
+
response.status() === 404
|
845
|
+
);
|
846
|
+
const createPagePromise = createPageButton.click();
|
847
|
+
await Promise.all( [ responsePromise, createPagePromise ] );
|
848
|
+
|
849
|
+
await waitForBlock( 'Navigation' );
|
850
|
+
|
851
|
+
const innerLinkBlock = await waitForBlock( 'Custom Link' );
|
852
|
+
|
853
|
+
const linkText = await innerLinkBlock.$eval(
|
854
|
+
'[aria-label="Navigation link text"]',
|
855
|
+
( element ) => {
|
856
|
+
return element.innerText;
|
857
|
+
}
|
858
|
+
);
|
859
|
+
|
860
|
+
expect( linkText ).toContain( pageTitle );
|
861
|
+
|
862
|
+
expect( console ).toHaveErroredWith(
|
863
|
+
'Failed to load resource: the server responded with a status of 404 (Not Found)'
|
864
|
+
);
|
865
|
+
} );
|
866
|
+
|
810
867
|
it( 'renders buttons for the submenu opener elements when the block is set to open on click instead of hover', async () => {
|
811
868
|
await createClassicMenu( { name: 'Test Menu 2' }, menuItemsFixture );
|
812
869
|
await createNewPost();
|
@@ -1294,11 +1351,9 @@ describe( 'Navigation', () => {
|
|
1294
1351
|
`//*[contains(@class, 'components-snackbar__content')][ text()="You do not have permission to edit this Menu. Any changes made will not be saved." ]`
|
1295
1352
|
);
|
1296
1353
|
|
1297
|
-
// Expect a console 403 for
|
1298
|
-
//
|
1299
|
-
//
|
1300
|
-
// See: https://github.com/WordPress/gutenberg/blob/4cedaf0c4abb0aeac4bfd4289d63e9889efe9733/lib/class-wp-rest-block-navigation-areas-controller.php#L81-L91.
|
1301
|
-
// Todo: removed once Nav Areas are removed from the Gutenberg Plugin.
|
1354
|
+
// Expect a console 403 for requests to:
|
1355
|
+
// * /wp/v2/settings?_locale=user
|
1356
|
+
// * /wp/v2/templates?context=edit&post_type=post&per_page=100&_locale=user
|
1302
1357
|
expect( console ).toHaveErrored();
|
1303
1358
|
} );
|
1304
1359
|
|
@@ -1317,11 +1372,9 @@ describe( 'Navigation', () => {
|
|
1317
1372
|
`//*[contains(@class, 'components-snackbar__content')][ text()="${ noticeText }" ]`
|
1318
1373
|
);
|
1319
1374
|
|
1320
|
-
// Expect a console 403 for
|
1321
|
-
//
|
1322
|
-
//
|
1323
|
-
// See: https://github.com/WordPress/gutenberg/blob/4cedaf0c4abb0aeac4bfd4289d63e9889efe9733/lib/class-wp-rest-block-navigation-areas-controller.php#L81-L91.
|
1324
|
-
// Todo: removed once Nav Areas are removed from the Gutenberg Plugin.
|
1375
|
+
// Expect a console 403 for requests to:
|
1376
|
+
// * /wp/v2/settings?_locale=user
|
1377
|
+
// * /wp/v2/templates?context=edit&post_type=post&per_page=100&_locale=user
|
1325
1378
|
expect( console ).toHaveErrored();
|
1326
1379
|
} );
|
1327
1380
|
} );
|
@@ -232,9 +232,8 @@ describe( 'Table', () => {
|
|
232
232
|
|
233
233
|
// Get the bounding client rect for the second cell.
|
234
234
|
const { x: secondCellX, y: secondCellY } = await page.evaluate( () => {
|
235
|
-
const secondCell =
|
236
|
-
'.wp-block-table td'
|
237
|
-
)[ 1 ];
|
235
|
+
const secondCell =
|
236
|
+
document.querySelectorAll( '.wp-block-table td' )[ 1 ];
|
238
237
|
// Page.evaluate can only return a serializable value to the
|
239
238
|
// parent process, so destructure and restructure the result
|
240
239
|
// into an object.
|
@@ -269,7 +268,6 @@ describe( 'Table', () => {
|
|
269
268
|
// Create the table.
|
270
269
|
await clickButton( createButtonLabel );
|
271
270
|
|
272
|
-
await page.keyboard.press( 'Tab' );
|
273
271
|
await page.keyboard.type( '1' );
|
274
272
|
await page.keyboard.press( 'ArrowDown' );
|
275
273
|
await page.keyboard.type( '2' );
|
@@ -280,4 +278,18 @@ describe( 'Table', () => {
|
|
280
278
|
|
281
279
|
expect( await getEditedPostContent() ).toMatchSnapshot();
|
282
280
|
} );
|
281
|
+
|
282
|
+
it( 'should not have focus loss after creation', async () => {
|
283
|
+
// Insert table block.
|
284
|
+
await insertBlock( 'Table' );
|
285
|
+
|
286
|
+
// Create the table.
|
287
|
+
await clickButton( createButtonLabel );
|
288
|
+
|
289
|
+
// Focus should be in first td.
|
290
|
+
const isInTd = await page.waitForSelector(
|
291
|
+
'td[contentEditable="true"]'
|
292
|
+
);
|
293
|
+
await expect( isInTd ).toHaveFocus();
|
294
|
+
} );
|
283
295
|
} );
|
@@ -16,16 +16,10 @@
|
|
16
16
|
"parent": 0,
|
17
17
|
"menu_order": 1,
|
18
18
|
"target": "",
|
19
|
-
"classes": [
|
20
|
-
|
21
|
-
],
|
22
|
-
"xfn": [
|
23
|
-
""
|
24
|
-
],
|
19
|
+
"classes": [ "" ],
|
20
|
+
"xfn": [ "" ],
|
25
21
|
"meta": [],
|
26
|
-
"menus": [
|
27
|
-
23
|
28
|
-
],
|
22
|
+
"menus": [ 23 ],
|
29
23
|
"_links": {
|
30
24
|
"self": [
|
31
25
|
{
|
@@ -95,16 +89,10 @@
|
|
95
89
|
"parent": 0,
|
96
90
|
"menu_order": 2,
|
97
91
|
"target": "",
|
98
|
-
"classes": [
|
99
|
-
|
100
|
-
],
|
101
|
-
"xfn": [
|
102
|
-
""
|
103
|
-
],
|
92
|
+
"classes": [ "" ],
|
93
|
+
"xfn": [ "" ],
|
104
94
|
"meta": [],
|
105
|
-
"menus": [
|
106
|
-
23
|
107
|
-
],
|
95
|
+
"menus": [ 23 ],
|
108
96
|
"_links": {
|
109
97
|
"self": [
|
110
98
|
{
|
@@ -181,16 +169,10 @@
|
|
181
169
|
"parent": 95,
|
182
170
|
"menu_order": 3,
|
183
171
|
"target": "",
|
184
|
-
"classes": [
|
185
|
-
|
186
|
-
],
|
187
|
-
"xfn": [
|
188
|
-
""
|
189
|
-
],
|
172
|
+
"classes": [ "" ],
|
173
|
+
"xfn": [ "" ],
|
190
174
|
"meta": [],
|
191
|
-
"menus": [
|
192
|
-
23
|
193
|
-
],
|
175
|
+
"menus": [ 23 ],
|
194
176
|
"_links": {
|
195
177
|
"self": [
|
196
178
|
{
|
@@ -267,16 +249,10 @@
|
|
267
249
|
"parent": 0,
|
268
250
|
"menu_order": 4,
|
269
251
|
"target": "",
|
270
|
-
"classes": [
|
271
|
-
|
272
|
-
],
|
273
|
-
"xfn": [
|
274
|
-
""
|
275
|
-
],
|
252
|
+
"classes": [ "" ],
|
253
|
+
"xfn": [ "" ],
|
276
254
|
"meta": [],
|
277
|
-
"menus": [
|
278
|
-
23
|
279
|
-
],
|
255
|
+
"menus": [ 23 ],
|
280
256
|
"_links": {
|
281
257
|
"self": [
|
282
258
|
{
|
@@ -353,16 +329,10 @@
|
|
353
329
|
"parent": 97,
|
354
330
|
"menu_order": 5,
|
355
331
|
"target": "",
|
356
|
-
"classes": [
|
357
|
-
|
358
|
-
],
|
359
|
-
"xfn": [
|
360
|
-
""
|
361
|
-
],
|
332
|
+
"classes": [ "" ],
|
333
|
+
"xfn": [ "" ],
|
362
334
|
"meta": [],
|
363
|
-
"menus": [
|
364
|
-
23
|
365
|
-
],
|
335
|
+
"menus": [ 23 ],
|
366
336
|
"_links": {
|
367
337
|
"self": [
|
368
338
|
{
|
@@ -439,16 +409,10 @@
|
|
439
409
|
"parent": 98,
|
440
410
|
"menu_order": 6,
|
441
411
|
"target": "",
|
442
|
-
"classes": [
|
443
|
-
|
444
|
-
],
|
445
|
-
"xfn": [
|
446
|
-
""
|
447
|
-
],
|
412
|
+
"classes": [ "" ],
|
413
|
+
"xfn": [ "" ],
|
448
414
|
"meta": [],
|
449
|
-
"menus": [
|
450
|
-
23
|
451
|
-
],
|
415
|
+
"menus": [ 23 ],
|
452
416
|
"_links": {
|
453
417
|
"self": [
|
454
418
|
{
|
@@ -525,16 +489,10 @@
|
|
525
489
|
"parent": 99,
|
526
490
|
"menu_order": 7,
|
527
491
|
"target": "",
|
528
|
-
"classes": [
|
529
|
-
|
530
|
-
],
|
531
|
-
"xfn": [
|
532
|
-
""
|
533
|
-
],
|
492
|
+
"classes": [ "" ],
|
493
|
+
"xfn": [ "" ],
|
534
494
|
"meta": [],
|
535
|
-
"menus": [
|
536
|
-
23
|
537
|
-
],
|
495
|
+
"menus": [ 23 ],
|
538
496
|
"_links": {
|
539
497
|
"self": [
|
540
498
|
{
|
@@ -611,16 +569,10 @@
|
|
611
569
|
"parent": 100,
|
612
570
|
"menu_order": 8,
|
613
571
|
"target": "",
|
614
|
-
"classes": [
|
615
|
-
|
616
|
-
],
|
617
|
-
"xfn": [
|
618
|
-
""
|
619
|
-
],
|
572
|
+
"classes": [ "" ],
|
573
|
+
"xfn": [ "" ],
|
620
574
|
"meta": [],
|
621
|
-
"menus": [
|
622
|
-
23
|
623
|
-
],
|
575
|
+
"menus": [ 23 ],
|
624
576
|
"_links": {
|
625
577
|
"self": [
|
626
578
|
{
|
@@ -697,16 +649,10 @@
|
|
697
649
|
"parent": 0,
|
698
650
|
"menu_order": 9,
|
699
651
|
"target": "",
|
700
|
-
"classes": [
|
701
|
-
|
702
|
-
],
|
703
|
-
"xfn": [
|
704
|
-
""
|
705
|
-
],
|
652
|
+
"classes": [ "" ],
|
653
|
+
"xfn": [ "" ],
|
706
654
|
"meta": [],
|
707
|
-
"menus": [
|
708
|
-
23
|
709
|
-
],
|
655
|
+
"menus": [ 23 ],
|
710
656
|
"_links": {
|
711
657
|
"self": [
|
712
658
|
{
|
@@ -783,16 +729,10 @@
|
|
783
729
|
"parent": 0,
|
784
730
|
"menu_order": 10,
|
785
731
|
"target": "",
|
786
|
-
"classes": [
|
787
|
-
|
788
|
-
],
|
789
|
-
"xfn": [
|
790
|
-
""
|
791
|
-
],
|
732
|
+
"classes": [ "" ],
|
733
|
+
"xfn": [ "" ],
|
792
734
|
"meta": [],
|
793
|
-
"menus": [
|
794
|
-
23
|
795
|
-
],
|
735
|
+
"menus": [ 23 ],
|
796
736
|
"_links": {
|
797
737
|
"self": [
|
798
738
|
{
|
@@ -869,16 +809,10 @@
|
|
869
809
|
"parent": 0,
|
870
810
|
"menu_order": 11,
|
871
811
|
"target": "",
|
872
|
-
"classes": [
|
873
|
-
|
874
|
-
],
|
875
|
-
"xfn": [
|
876
|
-
""
|
877
|
-
],
|
812
|
+
"classes": [ "" ],
|
813
|
+
"xfn": [ "" ],
|
878
814
|
"meta": [],
|
879
|
-
"menus": [
|
880
|
-
23
|
881
|
-
],
|
815
|
+
"menus": [ 23 ],
|
882
816
|
"_links": {
|
883
817
|
"self": [
|
884
818
|
{
|
@@ -955,16 +889,10 @@
|
|
955
889
|
"parent": 104,
|
956
890
|
"menu_order": 12,
|
957
891
|
"target": "",
|
958
|
-
"classes": [
|
959
|
-
|
960
|
-
],
|
961
|
-
"xfn": [
|
962
|
-
""
|
963
|
-
],
|
892
|
+
"classes": [ "" ],
|
893
|
+
"xfn": [ "" ],
|
964
894
|
"meta": [],
|
965
|
-
"menus": [
|
966
|
-
23
|
967
|
-
],
|
895
|
+
"menus": [ 23 ],
|
968
896
|
"_links": {
|
969
897
|
"self": [
|
970
898
|
{
|
@@ -1041,16 +969,10 @@
|
|
1041
969
|
"parent": 105,
|
1042
970
|
"menu_order": 13,
|
1043
971
|
"target": "",
|
1044
|
-
"classes": [
|
1045
|
-
|
1046
|
-
],
|
1047
|
-
"xfn": [
|
1048
|
-
""
|
1049
|
-
],
|
972
|
+
"classes": [ "" ],
|
973
|
+
"xfn": [ "" ],
|
1050
974
|
"meta": [],
|
1051
|
-
"menus": [
|
1052
|
-
23
|
1053
|
-
],
|
975
|
+
"menus": [ 23 ],
|
1054
976
|
"_links": {
|
1055
977
|
"self": [
|
1056
978
|
{
|
@@ -1127,16 +1049,10 @@
|
|
1127
1049
|
"parent": 106,
|
1128
1050
|
"menu_order": 14,
|
1129
1051
|
"target": "",
|
1130
|
-
"classes": [
|
1131
|
-
|
1132
|
-
],
|
1133
|
-
"xfn": [
|
1134
|
-
""
|
1135
|
-
],
|
1052
|
+
"classes": [ "" ],
|
1053
|
+
"xfn": [ "" ],
|
1136
1054
|
"meta": [],
|
1137
|
-
"menus": [
|
1138
|
-
23
|
1139
|
-
],
|
1055
|
+
"menus": [ 23 ],
|
1140
1056
|
"_links": {
|
1141
1057
|
"self": [
|
1142
1058
|
{
|
@@ -1213,16 +1129,10 @@
|
|
1213
1129
|
"parent": 0,
|
1214
1130
|
"menu_order": 15,
|
1215
1131
|
"target": "",
|
1216
|
-
"classes": [
|
1217
|
-
|
1218
|
-
],
|
1219
|
-
"xfn": [
|
1220
|
-
""
|
1221
|
-
],
|
1132
|
+
"classes": [ "" ],
|
1133
|
+
"xfn": [ "" ],
|
1222
1134
|
"meta": [],
|
1223
|
-
"menus": [
|
1224
|
-
23
|
1225
|
-
],
|
1135
|
+
"menus": [ 23 ],
|
1226
1136
|
"_links": {
|
1227
1137
|
"self": [
|
1228
1138
|
{
|
@@ -1292,16 +1202,10 @@
|
|
1292
1202
|
"parent": 108,
|
1293
1203
|
"menu_order": 16,
|
1294
1204
|
"target": "",
|
1295
|
-
"classes": [
|
1296
|
-
|
1297
|
-
],
|
1298
|
-
"xfn": [
|
1299
|
-
""
|
1300
|
-
],
|
1205
|
+
"classes": [ "" ],
|
1206
|
+
"xfn": [ "" ],
|
1301
1207
|
"meta": [],
|
1302
|
-
"menus": [
|
1303
|
-
23
|
1304
|
-
],
|
1208
|
+
"menus": [ 23 ],
|
1305
1209
|
"_links": {
|
1306
1210
|
"self": [
|
1307
1211
|
{
|
@@ -103,9 +103,8 @@ describe( 'cpt locking', () => {
|
|
103
103
|
|
104
104
|
it( 'should show invalid template notice if the blocks do not match the templte', async () => {
|
105
105
|
const content = await getEditedPostContent();
|
106
|
-
const [ , contentWithoutImage ] =
|
107
|
-
'<!-- /wp:image -->'
|
108
|
-
);
|
106
|
+
const [ , contentWithoutImage ] =
|
107
|
+
content.split( '<!-- /wp:image -->' );
|
109
108
|
await setPostContent( contentWithoutImage );
|
110
109
|
const noticeContent = await page.waitForSelector(
|
111
110
|
'.editor-template-validation-notice .components-notice__content'
|
@@ -32,6 +32,7 @@ describe( 'iframed inline styles', () => {
|
|
32
32
|
await deactivatePlugin( 'gutenberg-test-iframed-inline-styles' );
|
33
33
|
} );
|
34
34
|
|
35
|
+
// Skip flaky test. See https://github.com/WordPress/gutenberg/issues/35172
|
35
36
|
it.skip( 'should load inline styles in iframe', async () => {
|
36
37
|
await insertBlock( 'Iframed Inline Styles' );
|
37
38
|
|