@wordpress/e2e-tests 7.24.0 → 7.25.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 (78) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/package.json +9 -9
  3. package/plugins/interactive-blocks/deferred-store/block.json +15 -0
  4. package/plugins/interactive-blocks/deferred-store/render.php +15 -0
  5. package/plugins/interactive-blocks/deferred-store/view.asset.php +1 -0
  6. package/plugins/interactive-blocks/deferred-store/view.js +20 -0
  7. package/plugins/interactive-blocks/directive-bind/block.json +1 -1
  8. package/plugins/interactive-blocks/directive-bind/render.php +0 -2
  9. package/plugins/interactive-blocks/directive-bind/view.asset.php +1 -0
  10. package/plugins/interactive-blocks/directive-class/block.json +1 -1
  11. package/plugins/interactive-blocks/directive-class/render.php +0 -2
  12. package/plugins/interactive-blocks/directive-class/view.asset.php +1 -0
  13. package/plugins/interactive-blocks/directive-context/block.json +1 -1
  14. package/plugins/interactive-blocks/directive-context/render.php +0 -2
  15. package/plugins/interactive-blocks/directive-context/view.asset.php +9 -0
  16. package/plugins/interactive-blocks/directive-each/block.json +1 -1
  17. package/plugins/interactive-blocks/directive-each/render.php +0 -2
  18. package/plugins/interactive-blocks/directive-each/view.asset.php +9 -0
  19. package/plugins/interactive-blocks/directive-init/block.json +1 -1
  20. package/plugins/interactive-blocks/directive-init/render.php +0 -2
  21. package/plugins/interactive-blocks/directive-init/view.asset.php +1 -0
  22. package/plugins/interactive-blocks/directive-key/block.json +1 -1
  23. package/plugins/interactive-blocks/directive-key/render.php +0 -2
  24. package/plugins/interactive-blocks/directive-key/view.asset.php +9 -0
  25. package/plugins/interactive-blocks/directive-on/block.json +1 -1
  26. package/plugins/interactive-blocks/directive-on/render.php +0 -2
  27. package/plugins/interactive-blocks/directive-on/view.asset.php +1 -0
  28. package/plugins/interactive-blocks/directive-on-document/block.json +1 -1
  29. package/plugins/interactive-blocks/directive-on-document/render.php +0 -2
  30. package/plugins/interactive-blocks/directive-on-document/view.asset.php +1 -0
  31. package/plugins/interactive-blocks/directive-on-window/block.json +1 -1
  32. package/plugins/interactive-blocks/directive-on-window/render.php +0 -2
  33. package/plugins/interactive-blocks/directive-on-window/view.asset.php +1 -0
  34. package/plugins/interactive-blocks/directive-priorities/block.json +1 -1
  35. package/plugins/interactive-blocks/directive-priorities/render.php +0 -2
  36. package/plugins/interactive-blocks/directive-priorities/view.asset.php +1 -0
  37. package/plugins/interactive-blocks/directive-run/block.json +1 -1
  38. package/plugins/interactive-blocks/directive-run/render.php +0 -2
  39. package/plugins/interactive-blocks/directive-run/view.asset.php +9 -0
  40. package/plugins/interactive-blocks/directive-style/block.json +1 -1
  41. package/plugins/interactive-blocks/directive-style/render.php +0 -2
  42. package/plugins/interactive-blocks/directive-style/view.asset.php +1 -0
  43. package/plugins/interactive-blocks/directive-text/block.json +1 -1
  44. package/plugins/interactive-blocks/directive-text/render.php +0 -2
  45. package/plugins/interactive-blocks/directive-text/view.asset.php +1 -0
  46. package/plugins/interactive-blocks/directive-watch/block.json +1 -1
  47. package/plugins/interactive-blocks/directive-watch/render.php +0 -2
  48. package/plugins/interactive-blocks/directive-watch/view.asset.php +1 -0
  49. package/plugins/interactive-blocks/generator-scope/block.json +15 -0
  50. package/plugins/interactive-blocks/generator-scope/render.php +16 -0
  51. package/plugins/interactive-blocks/generator-scope/view.asset.php +1 -0
  52. package/plugins/interactive-blocks/generator-scope/view.js +23 -0
  53. package/plugins/interactive-blocks/negation-operator/block.json +1 -1
  54. package/plugins/interactive-blocks/negation-operator/render.php +0 -2
  55. package/plugins/interactive-blocks/negation-operator/view.asset.php +1 -0
  56. package/plugins/interactive-blocks/router-navigate/block.json +1 -1
  57. package/plugins/interactive-blocks/router-navigate/render.php +0 -2
  58. package/plugins/interactive-blocks/router-navigate/view.asset.php +9 -0
  59. package/plugins/interactive-blocks/router-regions/block.json +1 -1
  60. package/plugins/interactive-blocks/router-regions/render.php +0 -2
  61. package/plugins/interactive-blocks/router-regions/view.asset.php +9 -0
  62. package/plugins/interactive-blocks/store/block.json +1 -1
  63. package/plugins/interactive-blocks/store/render.php +2 -3
  64. package/plugins/interactive-blocks/store/view.asset.php +1 -0
  65. package/plugins/interactive-blocks/store/view.js +7 -4
  66. package/plugins/interactive-blocks/store-tag/block.json +1 -1
  67. package/plugins/interactive-blocks/store-tag/render.php +0 -2
  68. package/plugins/interactive-blocks/store-tag/view.asset.php +1 -0
  69. package/plugins/interactive-blocks/tovdom/block.json +1 -1
  70. package/plugins/interactive-blocks/tovdom/render.php +0 -2
  71. package/plugins/interactive-blocks/tovdom/view.asset.php +1 -0
  72. package/plugins/interactive-blocks/tovdom-islands/block.json +1 -1
  73. package/plugins/interactive-blocks/tovdom-islands/render.php +0 -2
  74. package/plugins/interactive-blocks/tovdom-islands/view.asset.php +1 -0
  75. package/plugins/interactive-blocks/with-scope/block.json +1 -1
  76. package/plugins/interactive-blocks/with-scope/render.php +0 -2
  77. package/plugins/interactive-blocks/with-scope/view.asset.php +1 -0
  78. package/plugins/interactive-blocks.php +4 -21
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.25.0 (2024-03-21)
6
+
5
7
  ## 7.24.0 (2024-03-06)
6
8
 
7
9
  ## 7.23.0 (2024-02-21)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/e2e-tests",
3
- "version": "7.24.0",
3
+ "version": "7.25.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,13 +23,13 @@
23
23
  "node": ">=14"
24
24
  },
25
25
  "dependencies": {
26
- "@wordpress/e2e-test-utils": "^10.24.0",
27
- "@wordpress/interactivity": "^5.2.0",
28
- "@wordpress/interactivity-router": "^1.3.0",
29
- "@wordpress/jest-console": "^7.24.0",
30
- "@wordpress/jest-puppeteer-axe": "^6.24.0",
31
- "@wordpress/scripts": "^27.4.0",
32
- "@wordpress/url": "^3.54.0",
26
+ "@wordpress/e2e-test-utils": "^10.25.0",
27
+ "@wordpress/interactivity": "^5.3.0",
28
+ "@wordpress/interactivity-router": "^1.4.0",
29
+ "@wordpress/jest-console": "^7.25.0",
30
+ "@wordpress/jest-puppeteer-axe": "^6.25.0",
31
+ "@wordpress/scripts": "^27.5.0",
32
+ "@wordpress/url": "^3.55.0",
33
33
  "chalk": "^4.0.0",
34
34
  "expect-puppeteer": "^4.4.0",
35
35
  "filenamify": "^4.2.0",
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "ac3c3e465a083081a86a4da6ee6fb817b41e5130"
49
+ "gitHead": "ffc07735d0abfb3f69e91d48f25b7fe8d1ef92d2"
50
50
  }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
3
+ "apiVersion": 2,
4
+ "name": "test/deferred-store",
5
+ "title": "E2E Interactivity tests - deferred store",
6
+ "category": "text",
7
+ "icon": "heart",
8
+ "description": "",
9
+ "supports": {
10
+ "interactivity": true
11
+ },
12
+ "textdomain": "e2e-interactivity",
13
+ "viewScriptModule": "file:./view.js",
14
+ "render": "file:./render.php"
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php
2
+ /**
3
+ * HTML for testing scope restoration with generators.
4
+ *
5
+ * @package gutenberg-test-interactive-blocks
6
+ */
7
+ ?>
8
+
9
+ <div
10
+ data-wp-interactive="test/deferred-store"
11
+ <?php echo wp_interactivity_data_wp_context( array( 'text' => '!dlrow ,olleH' ) ); ?>
12
+ >
13
+ <span data-wp-text="state.reversedText" data-testid="result"></span>
14
+ <span data-wp-text="state.reversedTextGetter" data-testid="result-getter"></span>
15
+ </div>
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -0,0 +1,20 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { store, getContext } from '@wordpress/interactivity';
5
+
6
+ document.addEventListener( 'DOMContentLoaded', () => {
7
+ setTimeout( () => {
8
+ store( 'test/deferred-store', {
9
+ state: {
10
+ reversedText() {
11
+ return [ ...getContext().text ].reverse().join( '' );
12
+ },
13
+
14
+ get reversedTextGetter() {
15
+ return [ ...getContext().text ].reverse().join( '' );
16
+ },
17
+ },
18
+ } );
19
+ }, 50 );
20
+ } );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-bind-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-bind-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-bind">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-class-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-class-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive='{"namespace": "directive-class"}'>
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-context-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-context-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive='{"namespace": "directive-context"}'>
@@ -0,0 +1,9 @@
1
+ <?php return array(
2
+ 'dependencies' => array(
3
+ '@wordpress/interactivity',
4
+ array(
5
+ 'id' => '@wordpress/interactivity-router',
6
+ 'import' => 'dynamic',
7
+ ),
8
+ ),
9
+ );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-each-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-each-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-each">
@@ -0,0 +1,9 @@
1
+ <?php return array(
2
+ 'dependencies' => array(
3
+ '@wordpress/interactivity',
4
+ array(
5
+ 'id' => '@wordpress/interactivity-router',
6
+ 'import' => 'dynamic',
7
+ ),
8
+ ),
9
+ );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-init-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-init-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-init">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-key-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-key-view' );
9
7
  ?>
10
8
 
11
9
  <div
@@ -0,0 +1,9 @@
1
+ <?php return array(
2
+ 'dependencies' => array(
3
+ '@wordpress/interactivity',
4
+ array(
5
+ 'id' => '@wordpress/interactivity-router',
6
+ 'import' => 'dynamic',
7
+ ),
8
+ ),
9
+ );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-on-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-on-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-on">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-on-document-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-on-document-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-on-document">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-on-window-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-on-window-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-on-window">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-priorities-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-priorities-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-priorities">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-run-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-run-view' );
9
7
  ?>
10
8
 
11
9
  <div
@@ -0,0 +1,9 @@
1
+ <?php return array(
2
+ 'dependencies' => array(
3
+ '@wordpress/interactivity',
4
+ array(
5
+ 'id' => '@wordpress/interactivity-router',
6
+ 'import' => 'dynamic',
7
+ ),
8
+ ),
9
+ );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-style-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-style-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-style">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-text-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-text-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-context">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "directive-watch-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'directive-watch-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="directive-watch">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
3
+ "apiVersion": 2,
4
+ "name": "test/generator-scope",
5
+ "title": "E2E Interactivity tests - generator scope",
6
+ "category": "text",
7
+ "icon": "heart",
8
+ "description": "",
9
+ "supports": {
10
+ "interactivity": true
11
+ },
12
+ "textdomain": "e2e-interactivity",
13
+ "viewScriptModule": "file:./view.js",
14
+ "render": "file:./render.php"
15
+ }
@@ -0,0 +1,16 @@
1
+ <?php
2
+ /**
3
+ * HTML for testing scope restoration with generators.
4
+ *
5
+ * @package gutenberg-test-interactive-blocks
6
+ */
7
+ ?>
8
+
9
+ <div
10
+ data-wp-interactive="test/generator-scope"
11
+ <?php echo wp_interactivity_data_wp_context( array( 'result' => '' ) ); ?>
12
+ >
13
+ <input readonly data-wp-bind--value="context.result" data-testid="result" />
14
+ <button type="button" data-wp-on--click="callbacks.resolve" data-testid="resolve">Async resolve</button>
15
+ <button type="button" data-wp-on--click="callbacks.reject" data-testid="reject">Async reject</button>
16
+ </div>
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -0,0 +1,23 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { store, getContext } from '@wordpress/interactivity';
5
+
6
+ store( 'test/generator-scope', {
7
+ callbacks: {
8
+ *resolve() {
9
+ try {
10
+ getContext().result = yield Promise.resolve( 'ok' );
11
+ } catch ( err ) {
12
+ getContext().result = err.toString();
13
+ }
14
+ },
15
+ *reject() {
16
+ try {
17
+ getContext().result = yield Promise.reject( new Error( '😘' ) );
18
+ } catch ( err ) {
19
+ getContext().result = err.toString();
20
+ }
21
+ },
22
+ },
23
+ } );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "negation-operator-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'negation-operator-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="negation-operator">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "router-navigate-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -7,8 +7,6 @@
7
7
  * @phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
8
8
  */
9
9
 
10
- wp_enqueue_script_module( 'router-navigate-view' );
11
-
12
10
  if ( $attributes['disableNavigation'] ) {
13
11
  wp_interactivity_config(
14
12
  'core/router',
@@ -0,0 +1,9 @@
1
+ <?php return array(
2
+ 'dependencies' => array(
3
+ '@wordpress/interactivity',
4
+ array(
5
+ 'id' => '@wordpress/interactivity-router',
6
+ 'import' => 'dynamic',
7
+ ),
8
+ ),
9
+ );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "router-regions-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -6,8 +6,6 @@
6
6
  *
7
7
  * @phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
8
8
  */
9
-
10
- wp_enqueue_script_module( 'router-regions-view' );
11
9
  ?>
12
10
 
13
11
  <section>
@@ -0,0 +1,9 @@
1
+ <?php return array(
2
+ 'dependencies' => array(
3
+ '@wordpress/interactivity',
4
+ array(
5
+ 'id' => '@wordpress/interactivity-router',
6
+ 'import' => 'dynamic',
7
+ ),
8
+ ),
9
+ );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "store-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -1,14 +1,13 @@
1
1
  <?php
2
2
  /**
3
- * HTML for testing the directive `data-wp-bind`.
3
+ * HTML for testing the `store` function.
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'store-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="test/store">
10
+ <div data-wp-text="state.0" data-testid="state-0"></div>
12
11
  <div
13
12
  data-testid="non-plain object"
14
13
  data-wp-text="state.isNotProxified"
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -3,18 +3,21 @@
3
3
  */
4
4
  import { store, getElement } from '@wordpress/interactivity';
5
5
 
6
+ // A non-object state should never be allowed.
7
+ store( 'test/store', { state: [ 'wrong' ] } );
6
8
 
7
9
  const { state } = store( 'test/store', {
8
10
  state: {
11
+ 0: 'right',
9
12
  get isNotProxified() {
10
13
  const { ref } = getElement();
11
14
  return state.elementRef === ref;
12
- }
15
+ },
13
16
  },
14
17
  callbacks: {
15
18
  init() {
16
19
  const { ref } = getElement();
17
20
  state.elementRef = ref; // HTMLElement
18
- }
19
- }
20
- } )
21
+ },
22
+ },
23
+ } );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "store-tag-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -7,8 +7,6 @@
7
7
  * @phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
8
8
  */
9
9
 
10
- wp_enqueue_script_module( 'store-tag-view' );
11
-
12
10
  // These variables simulates SSR.
13
11
  $test_store_tag_counter = 'ok' === $attributes['condition'] ? 3 : 0;
14
12
  $test_store_tag_double = $test_store_tag_counter * 2;
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "tovdom-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -8,8 +8,6 @@
8
8
  $plugin_url = plugin_dir_url( __DIR__ );
9
9
  $src_proc_ins = $plugin_url . 'tovdom/processing-instructions.js';
10
10
  $src_cdata = $plugin_url . 'tovdom/cdata.js';
11
-
12
- wp_enqueue_script_module( 'tovdom-view' );
13
11
  ?>
14
12
 
15
13
  <div data-wp-interactive="tovdom">
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "tovdom-islands-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'tovdom-islands-view' );
9
7
  ?>
10
8
 
11
9
  <div>
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -10,6 +10,6 @@
10
10
  "interactivity": true
11
11
  },
12
12
  "textdomain": "e2e-interactivity",
13
- "viewScript": "with-scope-view",
13
+ "viewScriptModule": "file:./view.js",
14
14
  "render": "file:./render.php"
15
15
  }
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * @package gutenberg-test-interactive-blocks
6
6
  */
7
-
8
- wp_enqueue_script_module( 'with-scope-view' );
9
7
  ?>
10
8
 
11
9
  <div data-wp-interactive="with-scope" data-wp-context='{"asyncCounter": 0, "syncCounter": 0}' data-wp-init--a='callbacks.asyncInit' data-wp-init--b='callbacks.syncInit'>
@@ -0,0 +1 @@
1
+ <?php return array( 'dependencies' => array( '@wordpress/interactivity' ) );
@@ -15,26 +15,8 @@ add_action(
15
15
  $block_json_files = glob( __DIR__ . '/interactive-blocks/**/block.json' );
16
16
 
17
17
  // Auto register all blocks that were found.
18
- foreach ( $block_json_files as $filename ) {
19
- $block_folder = dirname( $filename );
20
- $name = basename( $block_folder );
21
-
22
- $view_file = plugin_dir_url( $block_folder ) . $name . '/' . 'view.js';
23
-
24
- wp_register_script_module(
25
- $name . '-view',
26
- $view_file,
27
- array(
28
- '@wordpress/interactivity',
29
- array(
30
- 'id' => '@wordpress/interactivity-router',
31
- 'import' => 'dynamic',
32
- ),
33
- ),
34
- filemtime( $view_file )
35
- );
36
-
37
- register_block_type_from_metadata( $block_folder );
18
+ foreach ( $block_json_files as $block_json_file ) {
19
+ register_block_type( $block_json_file );
38
20
  }
39
21
  }
40
22
 
@@ -49,7 +31,8 @@ add_action(
49
31
  // But remove the server directive processing.
50
32
  remove_filter(
51
33
  'render_block_data',
52
- 'wp_interactivity_process_directives_of_interactive_blocks'
34
+ 'wp_interactivity_process_directives_of_interactive_blocks',
35
+ 100
53
36
  );
54
37
  }
55
38
  }