@wordpress/e2e-tests 7.7.0 → 7.9.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/CHANGELOG.md +4 -0
- package/package.json +7 -7
- package/plugins/block-api/index.js +5 -2
- package/plugins/block-api.php +2 -0
- package/plugins/block-context.php +9 -13
- package/plugins/deprecated-node-matcher/index.js +12 -16
- package/plugins/deprecated-node-matcher.php +0 -1
- package/plugins/iframed-enqueue-block-assets/script.js +3 -0
- package/plugins/iframed-enqueue-block-assets.php +13 -0
- package/plugins/inner-blocks-allowed-blocks/index.js +1 -0
- package/plugins/inner-blocks-templates/index.js +33 -30
- package/plugins/interactive-blocks/directive-bind/block.json +14 -0
- package/plugins/interactive-blocks/directive-bind/render.php +59 -0
- package/plugins/interactive-blocks/directive-bind/view.js +23 -0
- package/plugins/interactive-blocks/directive-class/block.json +14 -0
- package/plugins/interactive-blocks/directive-class/render.php +75 -0
- package/plugins/interactive-blocks/directive-class/view.js +21 -0
- package/plugins/interactive-blocks/directive-context/block.json +14 -0
- package/plugins/interactive-blocks/directive-context/render.php +121 -0
- package/plugins/interactive-blocks/directive-context/view.js +22 -0
- package/plugins/interactive-blocks/directive-effect/block.json +14 -0
- package/plugins/interactive-blocks/directive-effect/render.php +27 -0
- package/plugins/interactive-blocks/directive-effect/view.js +61 -0
- package/plugins/interactive-blocks/directive-priorities/block.json +14 -0
- package/plugins/interactive-blocks/directive-priorities/render.php +20 -0
- package/plugins/interactive-blocks/directive-priorities/view.js +121 -0
- package/plugins/interactive-blocks/directive-show/block.json +14 -0
- package/plugins/interactive-blocks/directive-show/render.php +53 -0
- package/plugins/interactive-blocks/directive-show/view.js +24 -0
- package/plugins/interactive-blocks/directive-style/block.json +14 -0
- package/plugins/interactive-blocks/directive-style/render.php +93 -0
- package/plugins/interactive-blocks/directive-style/view.js +22 -0
- package/plugins/interactive-blocks/directive-text/block.json +14 -0
- package/plugins/interactive-blocks/directive-text/render.php +35 -0
- package/plugins/interactive-blocks/directive-text/view.js +17 -0
- package/plugins/interactive-blocks/negation-operator/block.json +14 -0
- package/plugins/interactive-blocks/negation-operator/render.php +26 -0
- package/plugins/interactive-blocks/negation-operator/view.js +22 -0
- package/plugins/interactive-blocks/store-tag/block.json +14 -0
- package/plugins/interactive-blocks/store-tag/render.php +64 -0
- package/plugins/interactive-blocks/store-tag/view.js +24 -0
- package/plugins/interactive-blocks/tovdom/block.json +14 -0
- package/plugins/interactive-blocks/tovdom/cdata.js +15 -0
- package/plugins/interactive-blocks/tovdom/processing-instructions.js +16 -0
- package/plugins/interactive-blocks/tovdom/render.php +33 -0
- package/plugins/interactive-blocks/tovdom/view.js +5 -0
- package/plugins/interactive-blocks/tovdom-islands/block.json +14 -0
- package/plugins/interactive-blocks/tovdom-islands/render.php +66 -0
- package/plugins/interactive-blocks/tovdom-islands/view.js +9 -0
- package/plugins/interactive-blocks.php +48 -0
- package/specs/editor/plugins/__snapshots__/container-blocks.test.js.snap +5 -4
- package/specs/editor/plugins/container-blocks.test.js +2 -1
- package/specs/editor/plugins/iframed-equeue-block-assets.test.js +7 -0
- package/specs/editor/various/block-editor-keyboard-shortcuts.test.js +1 -1
- package/specs/editor/various/links.test.js +18 -11
- package/specs/editor/various/publish-button.test.js +0 -15
- package/specs/editor/various/reusable-blocks.test.js +7 -13
- package/specs/experiments/blocks/post-comments-form.test.js +1 -1
- package/specs/site-editor/multi-entity-saving.test.js +0 -102
- package/specs/site-editor/settings-sidebar.test.js +1 -1
- package/specs/editor/various/adding-inline-tokens.test.js +0 -80
@@ -12,8 +12,6 @@ import {
|
|
12
12
|
activateTheme,
|
13
13
|
clickButton,
|
14
14
|
createReusableBlock,
|
15
|
-
visitSiteEditor,
|
16
|
-
enterEditMode,
|
17
15
|
deleteAllTemplates,
|
18
16
|
canvas,
|
19
17
|
} from '@wordpress/e2e-test-utils';
|
@@ -239,104 +237,4 @@ describe( 'Multi-entity save flow', () => {
|
|
239
237
|
expect( checkboxInputs ).toHaveLength( 1 );
|
240
238
|
} );
|
241
239
|
} );
|
242
|
-
|
243
|
-
describe( 'Site Editor', () => {
|
244
|
-
// Selectors - Site editor specific.
|
245
|
-
const saveSiteSelector = '.edit-site-save-button__button';
|
246
|
-
const activeSaveSiteSelector = `${ saveSiteSelector }[aria-disabled=false]`;
|
247
|
-
const disabledSaveSiteSelector = `${ saveSiteSelector }[aria-disabled=true]`;
|
248
|
-
const saveA11ySelector = '.edit-site-editor__toggle-save-panel-button';
|
249
|
-
|
250
|
-
const saveAllChanges = async () => {
|
251
|
-
// Clicking button should open panel with boxes checked.
|
252
|
-
await page.click( activeSaveSiteSelector );
|
253
|
-
await page.waitForSelector( savePanelSelector );
|
254
|
-
await assertAllBoxesChecked();
|
255
|
-
|
256
|
-
// Save a11y button should not be present with save panel open.
|
257
|
-
await assertExistence( saveA11ySelector, false );
|
258
|
-
|
259
|
-
// Saving should result in items being saved.
|
260
|
-
await page.click( entitiesSaveSelector );
|
261
|
-
};
|
262
|
-
|
263
|
-
it( 'Save flow should work as expected', async () => {
|
264
|
-
// Navigate to site editor.
|
265
|
-
await visitSiteEditor( {
|
266
|
-
postId: 'emptytheme//index',
|
267
|
-
postType: 'wp_template',
|
268
|
-
} );
|
269
|
-
|
270
|
-
await enterEditMode();
|
271
|
-
|
272
|
-
// Select the header template part via list view.
|
273
|
-
await page.click( '.edit-site-header-edit-mode__list-view-toggle' );
|
274
|
-
const headerTemplatePartListViewButton = await page.waitForXPath(
|
275
|
-
'//a[contains(@class, "block-editor-list-view-block-select-button")][contains(., "header")]'
|
276
|
-
);
|
277
|
-
headerTemplatePartListViewButton.click();
|
278
|
-
await page.click( 'button[aria-label="Close"]' );
|
279
|
-
|
280
|
-
// Insert something to dirty the editor.
|
281
|
-
await insertBlock( 'Paragraph' );
|
282
|
-
|
283
|
-
const enabledButton = await page.waitForSelector(
|
284
|
-
activeSaveSiteSelector
|
285
|
-
);
|
286
|
-
|
287
|
-
// Should be enabled after edits.
|
288
|
-
expect( enabledButton ).not.toBeNull();
|
289
|
-
|
290
|
-
// Save a11y button should be present.
|
291
|
-
await assertExistence( saveA11ySelector, true );
|
292
|
-
|
293
|
-
// Save all changes.
|
294
|
-
await saveAllChanges();
|
295
|
-
|
296
|
-
const disabledButton = await page.waitForSelector(
|
297
|
-
disabledSaveSiteSelector
|
298
|
-
);
|
299
|
-
expect( disabledButton ).not.toBeNull();
|
300
|
-
} );
|
301
|
-
|
302
|
-
it( 'Save flow should allow re-saving after changing the same block attribute', async () => {
|
303
|
-
// Navigate to site editor.
|
304
|
-
await visitSiteEditor( {
|
305
|
-
postId: 'emptytheme//index',
|
306
|
-
postType: 'wp_template',
|
307
|
-
} );
|
308
|
-
|
309
|
-
await enterEditMode();
|
310
|
-
|
311
|
-
// Insert a paragraph at the bottom.
|
312
|
-
await insertBlock( 'Paragraph' );
|
313
|
-
|
314
|
-
// Open the block settings.
|
315
|
-
await page.click( 'button[aria-label="Settings"]' );
|
316
|
-
|
317
|
-
// Wait for the font size picker controls.
|
318
|
-
await page.waitForSelector(
|
319
|
-
'.components-font-size-picker__controls'
|
320
|
-
);
|
321
|
-
|
322
|
-
// Change the font size.
|
323
|
-
await page.click(
|
324
|
-
'.components-font-size-picker__controls button[aria-label="Small"]'
|
325
|
-
);
|
326
|
-
|
327
|
-
// Save all changes.
|
328
|
-
await saveAllChanges();
|
329
|
-
|
330
|
-
// Change the font size.
|
331
|
-
await page.click(
|
332
|
-
'.components-font-size-picker__controls button[aria-label="Medium"]'
|
333
|
-
);
|
334
|
-
|
335
|
-
// Assert that the save button has been re-enabled.
|
336
|
-
const saveButton = await page.waitForSelector(
|
337
|
-
activeSaveSiteSelector
|
338
|
-
);
|
339
|
-
expect( saveButton ).not.toBeNull();
|
340
|
-
} );
|
341
|
-
} );
|
342
240
|
} );
|
@@ -79,7 +79,7 @@ describe( 'Settings sidebar', () => {
|
|
79
79
|
'Used as a fallback template for all pages when a more specific template is not defined.',
|
80
80
|
} );
|
81
81
|
expect( templateCardAfterNavigation ).toMatchObject( {
|
82
|
-
title: '
|
82
|
+
title: 'Single Entries',
|
83
83
|
description:
|
84
84
|
'Displays any single entry, such as a post or a page. This template will serve as a fallback when a more specific template (e.g., Single Post, Page, or Attachment) cannot be found.',
|
85
85
|
} );
|
@@ -1,80 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* External dependencies
|
3
|
-
*/
|
4
|
-
import path from 'path';
|
5
|
-
import fs from 'fs';
|
6
|
-
import os from 'os';
|
7
|
-
import { v4 as uuid } from 'uuid';
|
8
|
-
|
9
|
-
/**
|
10
|
-
* WordPress dependencies
|
11
|
-
*/
|
12
|
-
import {
|
13
|
-
clickBlockAppender,
|
14
|
-
getEditedPostContent,
|
15
|
-
createNewPost,
|
16
|
-
clickBlockToolbarButton,
|
17
|
-
clickButton,
|
18
|
-
pressKeyWithModifier,
|
19
|
-
} from '@wordpress/e2e-test-utils';
|
20
|
-
|
21
|
-
describe( 'adding inline tokens', () => {
|
22
|
-
beforeEach( async () => {
|
23
|
-
await createNewPost();
|
24
|
-
} );
|
25
|
-
|
26
|
-
it( 'should insert inline image', async () => {
|
27
|
-
// Create a paragraph.
|
28
|
-
await clickBlockAppender();
|
29
|
-
await page.keyboard.type( 'a ' );
|
30
|
-
|
31
|
-
await clickBlockToolbarButton( 'More' );
|
32
|
-
await clickButton( 'Inline image' );
|
33
|
-
|
34
|
-
// Wait for media modal to appear and upload image.
|
35
|
-
// Wait for media modal to appear and upload image.
|
36
|
-
const inputElement = await page.waitForSelector(
|
37
|
-
'.media-modal .moxie-shim input[type=file]'
|
38
|
-
);
|
39
|
-
const testImagePath = path.join(
|
40
|
-
__dirname,
|
41
|
-
'..',
|
42
|
-
'..',
|
43
|
-
'..',
|
44
|
-
'assets',
|
45
|
-
'10x10_e2e_test_image_z9T8jK.png'
|
46
|
-
);
|
47
|
-
const filename = uuid();
|
48
|
-
const tmpFileName = path.join( os.tmpdir(), filename + '.png' );
|
49
|
-
fs.copyFileSync( testImagePath, tmpFileName );
|
50
|
-
await inputElement.uploadFile( tmpFileName );
|
51
|
-
|
52
|
-
// Wait for upload.
|
53
|
-
await page.waitForSelector(
|
54
|
-
`.media-modal li[aria-label="${ filename }"]`
|
55
|
-
);
|
56
|
-
|
57
|
-
// Insert the uploaded image.
|
58
|
-
await page.click( '.media-modal button.media-button-select' );
|
59
|
-
|
60
|
-
// Check the content.
|
61
|
-
const regex = new RegExp(
|
62
|
-
`<!-- wp:paragraph -->\\s*<p>a <img class="wp-image-\\d+" style="width:\\s*10px;?" src="[^"]+\\/${ filename }\\.png" alt=""\\/?><\\/p>\\s*<!-- \\/wp:paragraph -->`
|
63
|
-
);
|
64
|
-
expect( await getEditedPostContent() ).toMatch( regex );
|
65
|
-
|
66
|
-
await pressKeyWithModifier( 'shift', 'ArrowLeft' );
|
67
|
-
await page.waitForSelector(
|
68
|
-
'.block-editor-format-toolbar__image-popover'
|
69
|
-
);
|
70
|
-
await page.keyboard.press( 'Tab' );
|
71
|
-
await page.keyboard.type( '20' );
|
72
|
-
await page.keyboard.press( 'Enter' );
|
73
|
-
|
74
|
-
// Check the content.
|
75
|
-
const regex2 = new RegExp(
|
76
|
-
`<!-- wp:paragraph -->\\s*<p>a <img class="wp-image-\\d+" style="width:\\s*20px;?" src="[^"]+\\/${ filename }\\.png" alt=""\\/?><\\/p>\\s*<!-- \\/wp:paragraph -->`
|
77
|
-
);
|
78
|
-
expect( await getEditedPostContent() ).toMatch( regex2 );
|
79
|
-
} );
|
80
|
-
} );
|