@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.
Files changed (44) hide show
  1. package/config/flaky-tests-reporter.js +3 -3
  2. package/package.json +6 -6
  3. package/specs/editor/blocks/__snapshots__/buttons.test.js.snap +4 -4
  4. package/specs/editor/blocks/__snapshots__/heading.test.js.snap +0 -6
  5. package/specs/editor/blocks/cover.test.js +10 -14
  6. package/specs/editor/blocks/heading.test.js +7 -7
  7. package/specs/editor/blocks/navigation.test.js +69 -16
  8. package/specs/editor/blocks/table.test.js +16 -4
  9. package/specs/editor/fixtures/menu-items-response-fixture.json +48 -144
  10. package/specs/editor/plugins/cpt-locking.test.js +2 -3
  11. package/specs/editor/plugins/iframed-inline-styles.test.js +1 -0
  12. package/specs/editor/plugins/inner-blocks-allowed-blocks.test.js +3 -1
  13. package/specs/editor/various/__snapshots__/inserting-blocks.test.js.snap +1 -1
  14. package/specs/editor/various/block-switcher.test.js +3 -0
  15. package/specs/editor/various/datepicker.test.js +21 -7
  16. package/specs/editor/various/embedding.test.js +2 -4
  17. package/specs/editor/various/inserting-blocks.test.js +1 -1
  18. package/specs/editor/various/keyboard-navigable-blocks.test.js +0 -3
  19. package/specs/editor/various/links.test.js +2 -3
  20. package/specs/editor/various/navigable-toolbar.test.js +2 -3
  21. package/specs/editor/various/post-visibility.test.js +1 -1
  22. package/specs/editor/various/publishing.test.js +4 -2
  23. package/specs/editor/various/scheduling.test.js +2 -2
  24. package/specs/editor/various/switch-to-draft.test.js +1 -1
  25. package/specs/editor/various/taxonomies.test.js +8 -7
  26. package/specs/editor/various/writing-flow.test.js +19 -16
  27. package/specs/experiments/navigation-editor.test.js +4 -6
  28. package/specs/performance/post-editor.test.js +10 -14
  29. package/specs/performance/site-editor.test.js +2 -5
  30. package/specs/widgets/editing-widgets.test.js +12 -8
  31. package/specs/editor/blocks/__snapshots__/code.test.js.snap +0 -14
  32. package/specs/editor/blocks/__snapshots__/html.test.js.snap +0 -8
  33. package/specs/editor/blocks/__snapshots__/image.test.js.snap +0 -25
  34. package/specs/editor/blocks/__snapshots__/preformatted.test.js.snap +0 -24
  35. package/specs/editor/blocks/__snapshots__/separator.test.js.snap +0 -7
  36. package/specs/editor/blocks/code.test.js +0 -48
  37. package/specs/editor/blocks/html.test.js +0 -31
  38. package/specs/editor/blocks/image.test.js +0 -373
  39. package/specs/editor/blocks/preformatted.test.js +0 -62
  40. package/specs/editor/blocks/separator.test.js +0 -22
  41. package/specs/editor/various/block-locking.test.js +0 -120
  42. package/specs/editor/various/popovers.test.js +0 -27
  43. package/specs/site-editor/template-part.test.js +0 -346
  44. 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 = this.failingTestCaseResults.get(
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.2.0",
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.4.0",
27
- "@wordpress/jest-console": "^5.0.2",
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.0.0",
30
- "@wordpress/url": "^3.9.0",
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": "4631d515033397fcfeda77e5755960253caef9bf"
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
- backgroundDimColor,
89
- backgroundDimOpacity,
90
- ] = await page.evaluate( ( el ) => {
91
- const computedStyle = window.getComputedStyle( el );
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
- backgroundDimColor,
215
- backgroundDimOpacity,
216
- ] = await page.evaluate( ( el ) => {
217
- const computedStyle = window.getComputedStyle( el );
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( '0782f6' );
90
- await page.click( 'h3[data-type="core/heading"]' );
91
- await page.waitForXPath( '//button//span[contains(text(), "0782f6")]' );
92
- expect( await getEditedPostContent() ).toMatchSnapshot();
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
- request.method() === 'GET' &&
404
- request.url().includes( `rest_route` ) &&
405
- request.url().includes( `navigation` ) &&
406
- request.url().includes( testNavId ),
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 request to Navigation Areas for lower permission users.
1298
- // This is because reading requires the `edit_theme_options` capability
1299
- // which the Contributor level user does not have.
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 request to Navigation Areas for lower permission users.
1321
- // This is because reading requires the `edit_theme_options` capability
1322
- // which the Contributor level user does not have.
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 = document.querySelectorAll(
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 ] = content.split(
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