@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.
Files changed (59) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/LICENSE.md +1 -1
  3. package/README.md +31 -19
  4. package/config/is-gutenberg-plugin.js +6 -0
  5. package/jest.config.js +1 -1
  6. package/jest.performance.config.js +1 -1
  7. package/mu-plugins/enable-templates-ui.php +24 -0
  8. package/package.json +9 -9
  9. package/plugins/plugins-api/error-boundary.js +11 -0
  10. package/plugins/plugins-error-boundary.php +27 -0
  11. package/plugins/query-block.php +2 -2
  12. package/specs/editor/blocks/__snapshots__/image.test.js.snap +6 -6
  13. package/specs/editor/blocks/__snapshots__/navigation.test.js.snap +4 -2
  14. package/specs/editor/blocks/__snapshots__/spacer.test.js.snap +1 -1
  15. package/specs/editor/blocks/classic.test.js +5 -2
  16. package/specs/editor/blocks/cover.test.js +7 -3
  17. package/specs/editor/blocks/gallery.test.js +6 -1
  18. package/specs/editor/blocks/heading.test.js +1 -11
  19. package/specs/editor/blocks/navigation.test.js +279 -240
  20. package/specs/editor/plugins/__snapshots__/plugins-api.test.js.snap +2 -2
  21. package/specs/editor/plugins/block-variations.test.js +3 -3
  22. package/specs/editor/plugins/iframed-inline-styles.test.js +0 -6
  23. package/specs/editor/plugins/iframed-multiple-block-stylesheets.test.js +0 -4
  24. package/specs/editor/plugins/plugins-api.test.js +30 -0
  25. package/specs/editor/plugins/templates.test.js +1 -7
  26. package/specs/editor/various/__snapshots__/block-editor-keyboard-shortcuts.test.js.snap +38 -24
  27. package/specs/editor/various/__snapshots__/inserting-blocks.test.js.snap +1 -1
  28. package/specs/editor/various/__snapshots__/keep-styles-on-block-transforms.test.js.snap +35 -0
  29. package/specs/editor/various/block-editor-keyboard-shortcuts.test.js +43 -3
  30. package/specs/editor/various/font-size-picker.test.js +57 -11
  31. package/specs/editor/various/fullscreen-mode.test.js +1 -1
  32. package/specs/editor/various/keep-styles-on-block-transforms.test.js +81 -0
  33. package/specs/editor/various/post-editor-template-mode.test.js +1 -1
  34. package/specs/editor/various/post-visibility.test.js +54 -0
  35. package/specs/editor/various/preview.test.js +66 -1
  36. package/specs/editor/various/reusable-blocks.test.js +52 -5
  37. package/specs/editor/various/style-variation.test.js +9 -5
  38. package/specs/editor/various/undo.test.js +21 -0
  39. package/specs/performance/site-editor.test.js +3 -4
  40. package/specs/site-editor/document-settings.test.js +12 -14
  41. package/specs/site-editor/multi-entity-editing.test.js +14 -16
  42. package/specs/site-editor/multi-entity-saving.test.js +18 -27
  43. package/specs/site-editor/settings-sidebar.test.js +7 -12
  44. package/specs/site-editor/site-editor-export.test.js +9 -10
  45. package/specs/site-editor/site-editor-inserter.test.js +7 -9
  46. package/specs/site-editor/style-variations.test.js +211 -0
  47. package/specs/site-editor/template-part.test.js +14 -22
  48. package/specs/site-editor/template-revert.test.js +31 -37
  49. package/specs/widgets/customizing-widgets.test.js +3 -23
  50. package/specs/widgets/editing-widgets.test.js +36 -12
  51. package/themes/style-variations/block-templates/index.html +11 -0
  52. package/themes/style-variations/index.php +0 -0
  53. package/themes/style-variations/style.css +15 -0
  54. package/themes/style-variations/styles/pink.json +33 -0
  55. package/themes/style-variations/styles/yellow.json +12 -0
  56. package/themes/style-variations/theme.json +8 -0
  57. package/config/gutenberg-phase.js +0 -9
  58. package/specs/editor/various/__snapshots__/style-variation.test.js.snap +0 -7
  59. 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-next.0 (2021-12-20)
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
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2021 by the contributors
3
+ Copyright 2016-2022 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
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
- "type": "node",
55
- "request": "launch",
56
- "name": "Debug current e2e test",
57
- "program": "${workspaceFolder}/node_modules/@wordpress/scripts/bin/wp-scripts.js",
58
- "args": [
59
- "test-e2e",
60
- "--config=${workspaceFolder}/packages/e2e-tests/jest.config.js",
61
- "--verbose=true",
62
- "--runInBand",
63
- "--watch",
64
- "${file}"
65
- ],
66
- "console": "integratedTerminal",
67
- "internalConsoleOptions": "neverOpen",
68
- "trace": "all"
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
- <br/><br/><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>
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>
@@ -0,0 +1,6 @@
1
+ global.process.env = {
2
+ ...global.process.env,
3
+ // Inject the `IS_GUTENBERG_PLUGIN` global, used for feature flagging.
4
+ // eslint-disable-next-line @wordpress/is-gutenberg-plugin
5
+ IS_GUTENBERG_PLUGIN: process.env.npm_package_config_IS_GUTENBERG_PLUGIN,
6
+ };
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-phase.js' ],
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-phase.js' ],
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.1-next.33ec3857e2.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-next.33ec3857e2.0",
27
- "@wordpress/jest-console": "^4.1.2-next.33ec3857e2.0",
28
- "@wordpress/jest-puppeteer-axe": "^4.0.1-next.33ec3857e2.0",
29
- "@wordpress/scripts": "^20.0.1-next.33ec3857e2.0",
30
- "@wordpress/url": "^3.3.2-next.33ec3857e2.0",
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.0.6",
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": ">=26",
41
+ "jest": ">=27",
42
42
  "puppeteer-core": ">=11"
43
43
  },
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  },
47
- "gitHead": "51c7917ea7fac72953702f24d6daac87d99e7617"
47
+ "gitHead": "c504669a1adc2c1cb4b6422c60dbe84b44a9f1d1"
48
48
  }
@@ -0,0 +1,11 @@
1
+ ( function () {
2
+ const registerPlugin = wp.plugins.registerPlugin;
3
+
4
+ function MyErrorPlugin() {
5
+ throw new Error('Whoops!');
6
+ }
7
+
8
+ registerPlugin( 'my-error-plugin', {
9
+ render: MyErrorPlugin,
10
+ } );
11
+ } )();
@@ -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' );
@@ -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","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
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","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
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/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAJB//EACAQAAADCQEAAAAAAAAAAAAAAAAEBQEDBgk1OHR3srX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AlMlS6eKdfnvRTgrytVTuQ86aChkqXTxTr896KcFeVqqdyHnTQH//2Q=="`;
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/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAYACgMBIgACEQEDEQH/xAAWAAEBAQAAAAAAAAAAAAAAAAAABwn/xAAgEAABAgUFAAAAAAAAAAAAAAAABAUBAwYJNTh0d7K1/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AJTZU1T1Tx+u9FuNXnbKrdxM7RAA/9k="`;
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/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAJB//EACAQAAADCQEAAAAAAAAAAAAAAAAEBQEDBgk1OHR3srX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AlMlS6eKdfnvRTgrytVTuQ86aChkqXTxTr896KcFeVqqdyHnTQH//2Q=="`;
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/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAWAAEBAQAAAAAAAAAAAAAAAAAABwn/xAAhEAAAAgsBAAAAAAAAAAAAAAAABQIEBwgVGVVWk5XR1P/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCUyVHp7+ZVtTHwhJUenv5lW1MfCNXosa1NbzJdCLGtTW8yXQH/2Q=="`;
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/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAoACgMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAJB//EACAQAAADCQEAAAAAAAAAAAAAAAAEBQEDBgk1OHR3srX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AlMlS6eKdfnvRTgrytVTuQ86aChkqXTxTr896KcFeVqqdyHnTQH//2Q=="`;
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/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP/AABEIAAUABQMBIgACEQEDEQH/xAAVAAEBAAAAAAAAAAAAAAAAAAAACP/EABoQAQABBQAAAAAAAAAAAAAAAAAEBwk4hbX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8Aqm1xgnTLddiaAD//2Q=="`;
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\\":150} -->
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( 'div[aria-label^="Add Media"]' );
49
- await page.click( 'div[aria-label^="Add Media"]' );
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
- // Click the block wrapper before trying to convert to make sure figcaption toolbar is not obscuring
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.click( '.wp-block-image' );
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
- await page.click( '.wp-block-gallery>.blocks-gallery-caption' );
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-settings__item';
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