@wordpress/e2e-tests 3.0.1-next.33ec3857e2.0 → 3.0.4
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 +2 -1
- package/LICENSE.md +1 -1
- package/README.md +31 -19
- package/config/is-gutenberg-plugin.js +6 -0
- package/jest.config.js +1 -1
- package/jest.performance.config.js +1 -1
- package/mu-plugins/enable-templates-ui.php +24 -0
- package/package.json +9 -9
- package/plugins/plugins-api/error-boundary.js +11 -0
- package/plugins/plugins-error-boundary.php +27 -0
- package/plugins/query-block.php +2 -2
- package/specs/editor/blocks/__snapshots__/image.test.js.snap +6 -6
- package/specs/editor/blocks/__snapshots__/navigation.test.js.snap +4 -2
- package/specs/editor/blocks/__snapshots__/spacer.test.js.snap +1 -1
- package/specs/editor/blocks/classic.test.js +5 -2
- package/specs/editor/blocks/cover.test.js +7 -3
- package/specs/editor/blocks/gallery.test.js +6 -1
- package/specs/editor/blocks/heading.test.js +1 -11
- package/specs/editor/blocks/navigation.test.js +279 -240
- package/specs/editor/plugins/__snapshots__/plugins-api.test.js.snap +2 -2
- package/specs/editor/plugins/block-variations.test.js +3 -3
- package/specs/editor/plugins/iframed-inline-styles.test.js +0 -6
- package/specs/editor/plugins/iframed-multiple-block-stylesheets.test.js +0 -4
- package/specs/editor/plugins/plugins-api.test.js +30 -0
- package/specs/editor/plugins/templates.test.js +1 -7
- package/specs/editor/various/__snapshots__/block-editor-keyboard-shortcuts.test.js.snap +38 -24
- package/specs/editor/various/__snapshots__/inserting-blocks.test.js.snap +1 -1
- package/specs/editor/various/__snapshots__/keep-styles-on-block-transforms.test.js.snap +35 -0
- package/specs/editor/various/block-editor-keyboard-shortcuts.test.js +43 -3
- package/specs/editor/various/font-size-picker.test.js +57 -11
- package/specs/editor/various/fullscreen-mode.test.js +1 -1
- package/specs/editor/various/keep-styles-on-block-transforms.test.js +81 -0
- package/specs/editor/various/post-editor-template-mode.test.js +1 -1
- package/specs/editor/various/post-visibility.test.js +54 -0
- package/specs/editor/various/preview.test.js +66 -1
- package/specs/editor/various/reusable-blocks.test.js +52 -5
- package/specs/editor/various/style-variation.test.js +9 -5
- package/specs/editor/various/undo.test.js +21 -0
- package/specs/performance/site-editor.test.js +3 -4
- package/specs/site-editor/document-settings.test.js +12 -14
- package/specs/site-editor/multi-entity-editing.test.js +14 -16
- package/specs/site-editor/multi-entity-saving.test.js +18 -27
- package/specs/site-editor/settings-sidebar.test.js +7 -12
- package/specs/site-editor/site-editor-export.test.js +9 -10
- package/specs/site-editor/site-editor-inserter.test.js +7 -9
- package/specs/site-editor/style-variations.test.js +211 -0
- package/specs/site-editor/template-part.test.js +14 -22
- package/specs/site-editor/template-revert.test.js +31 -37
- package/specs/widgets/customizing-widgets.test.js +3 -23
- package/specs/widgets/editing-widgets.test.js +36 -12
- package/themes/style-variations/block-templates/index.html +11 -0
- package/themes/style-variations/index.php +0 -0
- package/themes/style-variations/style.css +15 -0
- package/themes/style-variations/styles/pink.json +33 -0
- package/themes/style-variations/styles/yellow.json +12 -0
- package/themes/style-variations/theme.json +8 -0
- package/config/gutenberg-phase.js +0 -9
- package/specs/editor/various/__snapshots__/style-variation.test.js.snap +0 -7
- package/specs/site-editor/utils.js +0 -153
package/CHANGELOG.md
CHANGED
@@ -2,11 +2,12 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
-
## 3.0.0
|
5
|
+
## 3.0.0 (2022-01-27)
|
6
6
|
|
7
7
|
### Breaking Changes
|
8
8
|
|
9
9
|
- The peer `puppeteer` dependency has been replaced with `puppeteer-core` requiring version `>=11` (see [Breaking Changes](https://github.com/puppeteer/puppeteer/releases/tag/v11.0.0), [#36040](https://github.com/WordPress/gutenberg/pull/36040)).
|
10
|
+
- The peer `jest` dependency has been updated from requiring `>=26` to requiring `>=27` (see [Breaking Changes](https://jestjs.io/blog/2021/05/25/jest-27), [#33287](https://github.com/WordPress/gutenberg/pull/33287)).
|
10
11
|
|
11
12
|
## 2.5.0 (2021-09-09)
|
12
13
|
|
package/LICENSE.md
CHANGED
package/README.md
CHANGED
@@ -18,31 +18,38 @@ The following commands are available on the Gutenberg repo:
|
|
18
18
|
{
|
19
19
|
"test-e2e": "wp-scripts test-e2e --config packages/e2e-tests/jest.config.js",
|
20
20
|
"test-e2e:debug": "wp-scripts --inspect-brk test-e2e --config packages/e2e-tests/jest.config.js --puppeteer-devtools",
|
21
|
-
"test-e2e:watch": "npm run test-e2e -- --watch"
|
21
|
+
"test-e2e:watch": "npm run test-e2e -- --watch"
|
22
22
|
}
|
23
23
|
```
|
24
24
|
|
25
25
|
### Run all available tests
|
26
|
+
|
26
27
|
```bash
|
27
28
|
npm run test-e2e
|
28
29
|
```
|
30
|
+
|
29
31
|
### Run all available tests and listen for changes.
|
32
|
+
|
30
33
|
```bash
|
31
34
|
npm run test-e2e:watch
|
32
35
|
```
|
33
36
|
|
34
37
|
### Run a specific test file
|
38
|
+
|
35
39
|
```bash
|
36
40
|
npm run test-e2e -- packages/e2e-test/<path_to_test_file>
|
37
41
|
# Or, in order to watch for changes:
|
38
42
|
npm run test-e2e:watch -- packages/e2e-test/<path_to_test_file>
|
39
43
|
```
|
44
|
+
|
40
45
|
### Debugging
|
41
46
|
|
42
47
|
Makes e2e tests available to debug in a Chrome Browser.
|
48
|
+
|
43
49
|
```bash
|
44
50
|
npm run test-e2e:debug
|
45
51
|
```
|
52
|
+
|
46
53
|
After running the command, tests will be available for debugging in Chrome by going to chrome://inspect/#devices and clicking `inspect` under the path to `/test-e2e.js`.
|
47
54
|
|
48
55
|
#### Debugging in `vscode`
|
@@ -51,27 +58,32 @@ Debugging in a Chrome browser can be replaced with `vscode`'s debugger by adding
|
|
51
58
|
|
52
59
|
```json
|
53
60
|
{
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
61
|
+
"type": "node",
|
62
|
+
"request": "launch",
|
63
|
+
"name": "Debug current e2e test",
|
64
|
+
"program": "${workspaceFolder}/node_modules/@wordpress/scripts/bin/wp-scripts.js",
|
65
|
+
"args": [
|
66
|
+
"test-e2e",
|
67
|
+
"--config=${workspaceFolder}/packages/e2e-tests/jest.config.js",
|
68
|
+
"--verbose=true",
|
69
|
+
"--runInBand",
|
70
|
+
"--watch",
|
71
|
+
"${file}"
|
72
|
+
],
|
73
|
+
"console": "integratedTerminal",
|
74
|
+
"internalConsoleOptions": "neverOpen",
|
75
|
+
"trace": "all"
|
76
|
+
}
|
70
77
|
```
|
71
78
|
|
72
79
|
This will run jest, targetting the spec file currently open in the editor. `vscode`'s debugger can now be used to add breakpoints and inspect tests as you would in Chrome DevTools.
|
73
80
|
|
74
|
-
|
75
81
|
**Note**: This package requires Node.js 12.0.0 or later. It is not compatible with older versions.
|
76
82
|
|
77
|
-
|
83
|
+
## Contributing to this package
|
84
|
+
|
85
|
+
This is an individual package that's part of the Gutenberg project. The project is organized as a monorepo. It's made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to [npm](https://www.npmjs.com/) and used by [WordPress](https://make.wordpress.org/core/) as well as other software projects.
|
86
|
+
|
87
|
+
To find out more about contributing to this package or Gutenberg as a whole, please read the project's main [contributor guide](https://github.com/WordPress/gutenberg/tree/HEAD/CONTRIBUTING.md).
|
88
|
+
|
89
|
+
<br /><br /><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>
|
package/jest.config.js
CHANGED
@@ -6,7 +6,7 @@ const baseConfig = require( '@wordpress/scripts/config/jest-e2e.config' );
|
|
6
6
|
module.exports = {
|
7
7
|
...baseConfig,
|
8
8
|
testMatch: [ '<rootDir>/specs/**/*.test.js' ],
|
9
|
-
setupFiles: [ '<rootDir>/config/gutenberg-
|
9
|
+
setupFiles: [ '<rootDir>/config/is-gutenberg-plugin.js' ],
|
10
10
|
setupFilesAfterEnv: [
|
11
11
|
'<rootDir>/config/setup-test-framework.js',
|
12
12
|
'@wordpress/jest-console',
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module.exports = {
|
2
2
|
...require( '@wordpress/scripts/config/jest-e2e.config' ),
|
3
3
|
testMatch: [ '**/performance/*.test.js' ],
|
4
|
-
setupFiles: [ '<rootDir>/config/gutenberg-
|
4
|
+
setupFiles: [ '<rootDir>/config/is-gutenberg-plugin.js' ],
|
5
5
|
setupFilesAfterEnv: [
|
6
6
|
'<rootDir>/config/setup-performance-test.js',
|
7
7
|
'@wordpress/jest-console',
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<?php
|
2
|
+
/**
|
3
|
+
* Plugin Name: Gutenberg Test Plugin, Enable Templates UI
|
4
|
+
* Plugin URI: https://github.com/WordPress/gutenberg
|
5
|
+
* Author: Gutenberg Team
|
6
|
+
*
|
7
|
+
* @package gutenberg-test-enable-templates-ui
|
8
|
+
*/
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Enable Templates & Template Parts post type UI during e2e testing.
|
12
|
+
*/
|
13
|
+
add_filter(
|
14
|
+
'register_post_type_args',
|
15
|
+
static function( $args, $name ) {
|
16
|
+
if ( in_array( $name, array( 'wp_template', 'wp_template_part' ), true ) ) {
|
17
|
+
$args['show_ui'] = wp_is_block_theme();
|
18
|
+
}
|
19
|
+
|
20
|
+
return $args;
|
21
|
+
},
|
22
|
+
20,
|
23
|
+
2
|
24
|
+
);
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wordpress/e2e-tests",
|
3
|
-
"version": "3.0.
|
3
|
+
"version": "3.0.4",
|
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,26 +23,26 @@
|
|
23
23
|
"node": ">=12"
|
24
24
|
},
|
25
25
|
"dependencies": {
|
26
|
-
"@wordpress/e2e-test-utils": "^6.0.1
|
27
|
-
"@wordpress/jest-console": "^
|
28
|
-
"@wordpress/jest-puppeteer-axe": "^4.0.1
|
29
|
-
"@wordpress/scripts": "^
|
30
|
-
"@wordpress/url": "^3.
|
26
|
+
"@wordpress/e2e-test-utils": "^6.0.1",
|
27
|
+
"@wordpress/jest-console": "^5.0.1",
|
28
|
+
"@wordpress/jest-puppeteer-axe": "^4.0.1",
|
29
|
+
"@wordpress/scripts": "^21.0.1",
|
30
|
+
"@wordpress/url": "^3.4.1",
|
31
31
|
"chalk": "^4.0.0",
|
32
32
|
"expect-puppeteer": "^4.4.0",
|
33
33
|
"filenamify": "^4.2.0",
|
34
|
-
"jest-message-util": "^27.
|
34
|
+
"jest-message-util": "^27.4.2",
|
35
35
|
"jest-snapshot": "^27.4.5",
|
36
36
|
"lodash": "^4.17.21",
|
37
37
|
"puppeteer-testing-library": "^0.5.0",
|
38
38
|
"uuid": "^8.3.0"
|
39
39
|
},
|
40
40
|
"peerDependencies": {
|
41
|
-
"jest": ">=
|
41
|
+
"jest": ">=27",
|
42
42
|
"puppeteer-core": ">=11"
|
43
43
|
},
|
44
44
|
"publishConfig": {
|
45
45
|
"access": "public"
|
46
46
|
},
|
47
|
-
"gitHead": "
|
47
|
+
"gitHead": "c504669a1adc2c1cb4b6422c60dbe84b44a9f1d1"
|
48
48
|
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<?php
|
2
|
+
/**
|
3
|
+
* Plugin Name: Gutenberg Test Plugin, Plugins Error Boundary
|
4
|
+
* Plugin URI: https://github.com/WordPress/gutenberg
|
5
|
+
* Author: Gutenberg Team
|
6
|
+
*
|
7
|
+
* @package gutenberg-test-plugin-plugins-error-boundary
|
8
|
+
*/
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Registers custom scripts for the plugin error boundary.
|
12
|
+
*/
|
13
|
+
function enqueue_plugins_error_boundary_plugin_scripts() {
|
14
|
+
wp_enqueue_script(
|
15
|
+
'gutenberg-test-plugin-plugins-error-boundary',
|
16
|
+
plugins_url( 'plugins-api/error-boundary.js', __FILE__ ),
|
17
|
+
array(
|
18
|
+
'wp-edit-post',
|
19
|
+
'wp-element',
|
20
|
+
'wp-i18n',
|
21
|
+
'wp-plugins',
|
22
|
+
),
|
23
|
+
filemtime( plugin_dir_path( __FILE__ ) . 'plugins-api/error-boundary.js' ),
|
24
|
+
true
|
25
|
+
);
|
26
|
+
}
|
27
|
+
add_action( 'init', 'enqueue_plugins_error_boundary_plugin_scripts' );
|
package/plugins/query-block.php
CHANGED
@@ -16,7 +16,7 @@ register_block_pattern(
|
|
16
16
|
array(
|
17
17
|
'title' => __( 'Query Test 1', 'gutenberg' ),
|
18
18
|
'blockTypes' => array( 'core/query' ),
|
19
|
-
'content' => '<!-- wp:query {"query":{"perPage":1,"pages":0,"offset":0,"postType":"post","
|
19
|
+
'content' => '<!-- wp:query {"query":{"perPage":1,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
|
20
20
|
<!-- wp:post-template -->
|
21
21
|
<!-- wp:post-title {"isLink":true} /-->
|
22
22
|
<!-- /wp:post-template -->
|
@@ -28,7 +28,7 @@ register_block_pattern(
|
|
28
28
|
array(
|
29
29
|
'title' => __( 'Query Test 2', 'gutenberg' ),
|
30
30
|
'blockTypes' => array( 'core/query' ),
|
31
|
-
'content' => '<!-- wp:query {"query":{"perPage":1,"pages":0,"offset":0,"postType":"post","
|
31
|
+
'content' => '<!-- wp:query {"query":{"perPage":1,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
|
32
32
|
<!-- wp:post-template -->
|
33
33
|
<!-- wp:post-title {"isLink":true} /-->
|
34
34
|
<!-- wp:post-date /-->
|
@@ -1,16 +1,16 @@
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
2
|
|
3
|
-
exports[`Image allows changing aspect ratio using the crop tools 1`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/
|
3
|
+
exports[`Image allows changing aspect ratio using the crop tools 1`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAJB//EACAQAAADCQEAAAAAAAAAAAAAAAAEBQEDBgk1OHR3srX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AlMlS6eKdfnvRTgrytVTuQ86aChkqXTxTr896KcFeVqqdyHnTQH//2Q=="`;
|
4
4
|
|
5
|
-
exports[`Image allows changing aspect ratio using the crop tools 2`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/
|
5
|
+
exports[`Image allows changing aspect ratio using the crop tools 2`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAYACgMBIgACEQEDEQH/xAAWAAEBAQAAAAAAAAAAAAAAAAAABwn/xAAgEAABAgUFAAAAAAAAAAAAAAAABAUBAwYJNTh0d7K1/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AJTZU1T1Tx+u9FuNXnbKrdxM7RAA/9k="`;
|
6
6
|
|
7
|
-
exports[`Image allows rotating using the crop tools 1`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/
|
7
|
+
exports[`Image allows rotating using the crop tools 1`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAJB//EACAQAAADCQEAAAAAAAAAAAAAAAAEBQEDBgk1OHR3srX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AlMlS6eKdfnvRTgrytVTuQ86aChkqXTxTr896KcFeVqqdyHnTQH//2Q=="`;
|
8
8
|
|
9
|
-
exports[`Image allows rotating using the crop tools 2`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/
|
9
|
+
exports[`Image allows rotating using the crop tools 2`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAWAAEBAQAAAAAAAAAAAAAAAAAABwn/xAAhEAAAAgsBAAAAAAAAAAAAAAAABQIEBwgVGVVWk5XR1P/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCUyVHp7+ZVtTHwhJUenv5lW1MfCNXosa1NbzJdCLGtTW8yXQH/2Q=="`;
|
10
10
|
|
11
|
-
exports[`Image allows zooming using the crop tools 1`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/
|
11
|
+
exports[`Image allows zooming using the crop tools 1`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAJB//EACAQAAADCQEAAAAAAAAAAAAAAAAEBQEDBgk1OHR3srX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AlMlS6eKdfnvRTgrytVTuQ86aChkqXTxTr896KcFeVqqdyHnTQH//2Q=="`;
|
12
12
|
|
13
|
-
exports[`Image allows zooming using the crop tools 2`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/
|
13
|
+
exports[`Image allows zooming using the crop tools 2`] = `"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAUABQMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAACP/EABoQAQABBQAAAAAAAAAAAAAAAAAEBwk4hbX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8Aqm1xgnTLddiaAD//2Q=="`;
|
14
14
|
|
15
15
|
exports[`Image should drag and drop files into media placeholder 1`] = `
|
16
16
|
"<!-- wp:image -->
|
@@ -6,6 +6,8 @@ exports[`Navigation allows an empty navigation block to be created and manually
|
|
6
6
|
<!-- wp:navigation-link {\\"label\\":\\"Contact\\",\\"type\\":\\"page\\",\\"id\\":[number],\\"url\\":\\"https://this/is/a/test/search/get-in-touch\\",\\"kind\\":\\"post-type\\",\\"isTopLevelLink\\":true} /-->"
|
7
7
|
`;
|
8
8
|
|
9
|
+
exports[`Navigation allows pages to be created from the navigation block and their links added to menu 1`] = `"<!-- wp:navigation-link {\\"label\\":\\"A really long page name that will not exist\\",\\"type\\":\\"page\\",\\"id\\":[number],\\"url\\":\\"http://localhost:8889/?page_id=[number]\\",\\"kind\\":\\"post-type\\",\\"isTopLevelLink\\":true} /-->"`;
|
10
|
+
|
9
11
|
exports[`Navigation encodes URL when create block if needed 1`] = `
|
10
12
|
"<!-- wp:navigation-link {\\"label\\":\\"wordpress.org/шеллы\\",\\"url\\":\\"https://wordpress.org/%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\\",\\"kind\\":\\"custom\\",\\"isTopLevelLink\\":true} /-->
|
11
13
|
|
@@ -40,6 +42,6 @@ exports[`Navigation placeholder allows a navigation block to be created from exi
|
|
40
42
|
<!-- /wp:navigation-submenu -->"
|
41
43
|
`;
|
42
44
|
|
43
|
-
exports[`Navigation placeholder allows a navigation block to be created using existing pages 1`] = `"<!-- wp:page-list /-->"`;
|
44
|
-
|
45
45
|
exports[`Navigation placeholder creates an empty navigation block when the selected existing menu is also empty 1`] = `""`;
|
46
|
+
|
47
|
+
exports[`Navigation supports navigation blocks that have inner blocks within their markup and converts them to wp_navigation posts 1`] = `"<!-- wp:page-list /-->"`;
|
@@ -7,7 +7,7 @@ exports[`Spacer can be created by typing "/spacer" 1`] = `
|
|
7
7
|
`;
|
8
8
|
|
9
9
|
exports[`Spacer can be resized using the drag handle and remains selected after being dragged 1`] = `
|
10
|
-
"<!-- wp:spacer {\\"height\\"
|
10
|
+
"<!-- wp:spacer {\\"height\\":\\"150px\\"} -->
|
11
11
|
<div style=\\"height:150px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
|
12
12
|
<!-- /wp:spacer -->"
|
13
13
|
`;
|
@@ -45,8 +45,10 @@ describe( 'Classic', () => {
|
|
45
45
|
await page.keyboard.type( 'test' );
|
46
46
|
|
47
47
|
// Click the image button.
|
48
|
-
await page.waitForSelector(
|
49
|
-
|
48
|
+
const addMediaButton = await page.waitForSelector(
|
49
|
+
'div[aria-label^="Add Media"]'
|
50
|
+
);
|
51
|
+
await addMediaButton.click();
|
50
52
|
|
51
53
|
await page.click( '.media-menu-item#menu-item-gallery' );
|
52
54
|
|
@@ -92,6 +94,7 @@ describe( 'Classic', () => {
|
|
92
94
|
|
93
95
|
// Check that you can undo back to a Classic block gallery in one step.
|
94
96
|
await pressKeyWithModifier( 'primary', 'z' );
|
97
|
+
await page.waitForSelector( 'div[aria-label="Block: Classic"]' );
|
95
98
|
expect( await getEditedPostContent() ).toMatch(
|
96
99
|
/\[gallery ids=\"\d+\"\]/
|
97
100
|
);
|
@@ -196,10 +196,14 @@ describe( 'Cover', () => {
|
|
196
196
|
it( 'dims the background image down by 50% when transformed from the Image block', async () => {
|
197
197
|
await insertBlock( 'Image' );
|
198
198
|
// Upload image and transform to the Cover block
|
199
|
-
await upload( '.wp-block-image' );
|
200
|
-
|
199
|
+
const filename = await upload( '.wp-block-image' );
|
200
|
+
await page.waitForSelector(
|
201
|
+
`.wp-block-image img[src$="${ filename }.png"]`
|
202
|
+
);
|
203
|
+
|
204
|
+
// Focus the block wrapper before trying to convert to make sure figcaption toolbar is not obscuring
|
201
205
|
// the block toolbar.
|
202
|
-
await page.
|
206
|
+
await page.focus( '.wp-block-image' );
|
203
207
|
await transformBlockTo( 'Cover' );
|
204
208
|
|
205
209
|
// Get the block's background dim color and its opacity
|
@@ -57,8 +57,13 @@ describe( 'Gallery', () => {
|
|
57
57
|
|
58
58
|
await insertBlock( 'Gallery' );
|
59
59
|
await upload( '.wp-block-gallery input[type="file"]' );
|
60
|
+
await page.waitForSelector( '.wp-block-gallery .wp-block-image' );
|
60
61
|
|
61
|
-
|
62
|
+
// The newly added image gets the focus, so refocus parent Gallery
|
63
|
+
// block before trying to edit caption.
|
64
|
+
await clickButton( 'Gallery' );
|
65
|
+
|
66
|
+
await page.click( '.wp-block-gallery .blocks-gallery-caption' );
|
62
67
|
await page.keyboard.type( galleryCaption );
|
63
68
|
|
64
69
|
expect( await getEditedPostContent() ).toMatch(
|
@@ -10,14 +10,12 @@ import {
|
|
10
10
|
|
11
11
|
describe( 'Heading', () => {
|
12
12
|
const COLOR_ITEM_SELECTOR =
|
13
|
-
'.block-editor-panel-color-gradient-
|
13
|
+
'.block-editor-panel-color-gradient-settings__dropdown';
|
14
14
|
const CUSTOM_COLOR_BUTTON_X_SELECTOR = `.components-color-palette__custom-color`;
|
15
15
|
const CUSTOM_COLOR_DETAILS_BUTTON_SELECTOR =
|
16
16
|
'.components-color-picker button[aria-label="Show detailed inputs"]';
|
17
17
|
const COLOR_INPUT_FIELD_SELECTOR =
|
18
18
|
'.components-color-picker .components-input-control__input';
|
19
|
-
const COLOR_PANEL_TOGGLE_X_SELECTOR =
|
20
|
-
"//button[./span[contains(text(),'Color')]]";
|
21
19
|
|
22
20
|
beforeEach( async () => {
|
23
21
|
await createNewPost();
|
@@ -73,10 +71,6 @@ describe( 'Heading', () => {
|
|
73
71
|
it( 'should correctly apply custom colors', async () => {
|
74
72
|
await clickBlockAppender();
|
75
73
|
await page.keyboard.type( '### Heading' );
|
76
|
-
const colorPanelToggle = await page.waitForXPath(
|
77
|
-
COLOR_PANEL_TOGGLE_X_SELECTOR
|
78
|
-
);
|
79
|
-
await colorPanelToggle.click();
|
80
74
|
|
81
75
|
const textColorButton = await page.waitForSelector(
|
82
76
|
COLOR_ITEM_SELECTOR
|
@@ -101,10 +95,6 @@ describe( 'Heading', () => {
|
|
101
95
|
it( 'should correctly apply named colors', async () => {
|
102
96
|
await clickBlockAppender();
|
103
97
|
await page.keyboard.type( '## Heading' );
|
104
|
-
const [ colorPanelToggle ] = await page.$x(
|
105
|
-
COLOR_PANEL_TOGGLE_X_SELECTOR
|
106
|
-
);
|
107
|
-
await colorPanelToggle.click();
|
108
98
|
|
109
99
|
const textColorButton = await page.waitForSelector(
|
110
100
|
COLOR_ITEM_SELECTOR
|