Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
00617e7
Tests: Add assertEqualMarkup trait
ockham Jun 2, 2025
cbba80a
Add test coverage for assertion helper method
ockham Jun 2, 2025
0602711
Fix include path
ockham Jun 2, 2025
c01a3c1
Remove now-obsolete method of the same name from Tests_Dependencies_S…
ockham Jun 2, 2025
5a5b2b1
Remove obsolete require_lib
ockham Jun 2, 2025
1cb1f23
Add since PHPDoc
ockham Jun 2, 2025
38b575a
Move assertion to class WP_UnitTestCase_Base
ockham Jun 2, 2025
8204474
Get rid of trait
ockham Jun 2, 2025
03f7b09
WPCS
ockham Jun 2, 2025
09cf449
Remove potentially obsolete PHPCS ignore
ockham Jun 2, 2025
b2fc3ff
Revert "Remove now-obsolete method of the same name from Tests_Depend…
ockham Jun 2, 2025
ef27f4f
Bring back assertEqualMarkup override, harmonize signature
ockham Jun 2, 2025
51e4613
Remove trailing newline
ockham Jun 2, 2025
2258487
Fix class name
ockham Jun 2, 2025
5bfdf9b
Tweak tests
ockham Jun 2, 2025
2b33187
Remove strict_types declaration
ockham Jun 2, 2025
82d57b6
Fix heredoc indentation for PHP 7.2 compat :rolleyes:
ockham Jun 2, 2025
3fbf857
Use WP_Block_Parser for block parsing
ockham Jun 3, 2025
3090d65
Handle void blocks correctly
ockham Jun 3, 2025
47dccc1
Rearrange logic
ockham Jun 3, 2025
bb2404b
Allow for different whitespace in class attribute
ockham Jun 3, 2025
192009b
De-duplicate block class names
ockham Jun 3, 2025
7cf7c64
Change Html5lib test format reference link
ockham Jun 4, 2025
d0d46fe
Add more PHPDoc and an example to build_tree_representation
ockham Jun 4, 2025
252569d
Use Tag Processor to normalize block class names
ockham Jun 4, 2025
eae650f
Whitespace :rolleyes:
ockham Jun 4, 2025
e8ceff2
Rename function to build_equivalent_html_semantic_tree
ockham Jun 4, 2025
5c44e1a
Add covers PHPDoc to tests
ockham Jun 4, 2025
5ff8ad4
Fall back to DOM\HTMLDocument for PHP 8.4+
ockham Jun 4, 2025
90f958d
Revert "Bring back assertEqualMarkup override, harmonize signature"
ockham Jun 4, 2025
7735df4
Rename new method to assertEqualBlockMarkup
ockham Jun 4, 2025
7581a94
Add @todo note to "old" assertEqualMarkup
ockham Jun 4, 2025
8d7e402
Update PHPDoc for assertEqualBlockMarkup
ockham Jun 4, 2025
51600e6
Add test with capitalization/lower case letters.
ockham Jun 5, 2025
ddaec5e
Update to use the new assertEqualMarkup helper
sirreal Jun 5, 2025
98ad4c9
Rename test helper to assertEqualMarkup
sirreal Jun 5, 2025
492316d
Fix script async/defer strategy expectation to match printed scripts
sirreal Jun 5, 2025
c7317e7
Add CDATA inline script wrappers where they appear in markup
sirreal Jun 5, 2025
7472609
FIXME: Skip an inaccurate test
sirreal Jun 5, 2025
844a076
Adjust expected output to use attributes as generated
sirreal Jun 5, 2025
514967f
Add html5 support to a test that expects html5 support
sirreal Jun 5, 2025
fed7647
Script quotes in IE7 conditional _comments_ produce semantically _dif…
sirreal Jun 5, 2025
28e1fd7
Revert irrelevant change
sirreal Jun 5, 2025
c2f1bfa
Fix more missing CDATA comments
sirreal Jun 5, 2025
5a60a70
Remove scripts specific assertEqualMarkup implementation
sirreal Jun 5, 2025
b0df96a
Use more consistent code backticks in docblock
sirreal Jun 5, 2025
1cb1daf
Fix phpcs issues
sirreal Jun 5, 2025
defbe92
Remove now-obsolete parse_markup_fragment() method
ockham Jun 5, 2025
2b66454
Fix PHPDoc param order
ockham Jun 10, 2025
95ddd9a
Tweak PHPDoc description of build_equivalent_semantic_tree
ockham Jun 10, 2025
6a79216
Add return type, tweak PHPDoc
ockham Jun 10, 2025
9469f43
Rename to build_visual_html_tree
ockham Jun 10, 2025
b07677e
Rename to assertEqualHTML
ockham Jun 10, 2025
f7736c4
Fix indentation
ockham Jun 10, 2025
a83ff2b
Add ticket annotations
ockham Jun 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add CDATA inline script wrappers where they appear in markup
  • Loading branch information
sirreal committed Jun 5, 2025
commit c7317e7af3199110f17a6fd7522ae0f6fa60559a
104 changes: 104 additions & 0 deletions tests/phpunit/tests/dependencies/scripts.php
Original file line number Diff line number Diff line change
Expand Up @@ -511,18 +511,26 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="blocking-not-async-without-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-not-async-without-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-not-async-without-dependency:%20script' id='blocking-not-async-without-dependency-js'></script>
<script id="blocking-not-async-without-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-not-async-without-dependency: after inline" )
/* ]]> */
</script>
<script id="async-with-blocking-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-with-blocking-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=async-with-blocking-dependency:%20script' id='async-with-blocking-dependency-js' data-wp-strategy='async'></script>
<script id="async-with-blocking-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-with-blocking-dependency: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -548,25 +556,37 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="async-no-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-no-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=async-no-dependency:%20script' id='async-no-dependency-js' data-wp-strategy='async'></script>
<script id="async-no-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-no-dependency: after inline" )
/* ]]> */
</script>
<script id="async-one-async-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-one-async-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=async-one-async-dependency:%20script' id='async-one-async-dependency-js' data-wp-strategy='async'></script>
<script id="async-one-async-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-one-async-dependency: after inline" )
/* ]]> */
</script>
<script id="async-two-async-dependencies-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-two-async-dependencies: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=async-two-async-dependencies:%20script' id='async-two-async-dependencies-js' data-wp-strategy='async'></script>
<script id="async-two-async-dependencies-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-two-async-dependencies: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -584,18 +604,26 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="async-with-blocking-dependent-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-with-blocking-dependent: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=async-with-blocking-dependent:%20script' id='async-with-blocking-dependent-js' data-wp-strategy='async'></script>
<script id="async-with-blocking-dependent-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-with-blocking-dependent: after inline" )
/* ]]> */
</script>
<script id="blocking-dependent-of-async-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-dependent-of-async: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-dependent-of-async:%20script' id='blocking-dependent-of-async-js'></script>
<script id="blocking-dependent-of-async-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-dependent-of-async: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -613,18 +641,26 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="async-with-defer-dependent-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-with-defer-dependent: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=async-with-defer-dependent:%20script' id='async-with-defer-dependent-js' data-wp-strategy='async'></script>
<script id="async-with-defer-dependent-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-with-defer-dependent: after inline" )
/* ]]> */
</script>
<script id="defer-dependent-of-async-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-async: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-async:%20script' id='defer-dependent-of-async-js' data-wp-strategy='defer'></script>
<script id="defer-dependent-of-async-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-async: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -645,17 +681,25 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="blocking-bundle-of-none-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-bundle-of-none: before inline" )
/* ]]> */
</script>
<script id="blocking-bundle-of-none-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-bundle-of-none: after inline" )
/* ]]> */
</script>
<script id="defer-dependent-of-blocking-bundle-of-none-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-none: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-bundle-of-none:%20script' id='defer-dependent-of-blocking-bundle-of-none-js' data-wp-strategy='defer'></script>
<script id="defer-dependent-of-blocking-bundle-of-none-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-none: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -679,25 +723,37 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="blocking-bundle-member-one-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-bundle-member-one: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-bundle-member-one:%20script' id='blocking-bundle-member-one-js'></script>
<script id="blocking-bundle-member-one-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-bundle-member-one: after inline" )
/* ]]> */
</script>
<script id="blocking-bundle-member-two-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-bundle-member-two: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-bundle-member-two:%20script' id='blocking-bundle-member-two-js'></script>
<script id="blocking-bundle-member-two-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-bundle-member-two: after inline" )
/* ]]> */
</script>
<script id="defer-dependent-of-blocking-bundle-of-two-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-two: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-bundle-of-two:%20script' id='defer-dependent-of-blocking-bundle-of-two-js' data-wp-strategy='defer'></script>
<script id="defer-dependent-of-blocking-bundle-of-two-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-two: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -720,17 +776,25 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="defer-bundle-of-none-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-bundle-of-none: before inline" )
/* ]]> */
</script>
<script id="defer-bundle-of-none-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-bundle-of-none: after inline" )
/* ]]> */
</script>
<script id="defer-dependent-of-defer-bundle-of-none-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-defer-bundle-of-none: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-defer-bundle-of-none:%20script' id='defer-dependent-of-defer-bundle-of-none-js' data-wp-strategy='defer'></script>
<script id="defer-dependent-of-defer-bundle-of-none-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-defer-bundle-of-none: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -751,25 +815,37 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="blocking-dependency-with-defer-following-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-dependency-with-defer-following-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-dependency-with-defer-following-dependency:%20script' id='blocking-dependency-with-defer-following-dependency-js'></script>
<script id="blocking-dependency-with-defer-following-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-dependency-with-defer-following-dependency: after inline" )
/* ]]> */
</script>
<script id="defer-dependency-with-blocking-preceding-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependency-with-blocking-preceding-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependency-with-blocking-preceding-dependency:%20script' id='defer-dependency-with-blocking-preceding-dependency-js' data-wp-strategy='defer'></script>
<script id="defer-dependency-with-blocking-preceding-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependency-with-blocking-preceding-dependency: after inline" )
/* ]]> */
</script>
<script id="defer-dependent-of-blocking-and-defer-dependencies-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-blocking-and-defer-dependencies: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-and-defer-dependencies:%20script' id='defer-dependent-of-blocking-and-defer-dependencies-js' data-wp-strategy='defer'></script>
<script id="defer-dependent-of-blocking-and-defer-dependencies-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-blocking-and-defer-dependencies: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -790,25 +866,37 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="defer-dependency-with-blocking-following-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependency-with-blocking-following-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependency-with-blocking-following-dependency:%20script' id='defer-dependency-with-blocking-following-dependency-js' data-wp-strategy='defer'></script>
<script id="defer-dependency-with-blocking-following-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependency-with-blocking-following-dependency: after inline" )
/* ]]> */
</script>
<script id="blocking-dependency-with-defer-preceding-dependency-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-dependency-with-defer-preceding-dependency: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-dependency-with-defer-preceding-dependency:%20script' id='blocking-dependency-with-defer-preceding-dependency-js'></script>
<script id="blocking-dependency-with-defer-preceding-dependency-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "blocking-dependency-with-defer-preceding-dependency: after inline" )
/* ]]> */
</script>
<script id="defer-dependent-of-defer-and-blocking-dependencies-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-defer-and-blocking-dependencies: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-defer-and-blocking-dependencies:%20script' id='defer-dependent-of-defer-and-blocking-dependencies-js' data-wp-strategy='defer'></script>
<script id="defer-dependent-of-defer-and-blocking-dependencies-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-defer-and-blocking-dependencies: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -826,18 +914,26 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="defer-with-async-dependent-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-with-async-dependent: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-with-async-dependent:%20script' id='defer-with-async-dependent-js' data-wp-strategy='defer'></script>
<script id="defer-with-async-dependent-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-with-async-dependent: after inline" )
/* ]]> */
</script>
<script id="async-dependent-of-defer-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-dependent-of-defer: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=async-dependent-of-defer:%20script' id='async-dependent-of-defer-js' data-wp-strategy='async'></script>
<script id="async-dependent-of-defer-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "async-dependent-of-defer: after inline" )
/* ]]> */
</script>
HTML
,
Expand All @@ -851,7 +947,9 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
},
'expected_markup' => <<<HTML
<script id="defer-with-before-inline-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-with-before-inline: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-with-before-inline:%20script' id='defer-with-before-inline-js' defer data-wp-strategy='defer'></script>
HTML
Expand All @@ -867,7 +965,9 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
'expected_markup' => <<<HTML
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-with-after-inline:%20script' id='defer-with-after-inline-js' data-wp-strategy='defer'></script>
<script id="defer-with-after-inline-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-with-after-inline: after inline" )
/* ]]> */
</script>
HTML
,
Expand Down Expand Up @@ -912,11 +1012,15 @@ public function data_provider_to_test_various_strategy_dependency_chains() {
<script type='text/javascript' src='https://example.com/external.js?script_event_log=inner-bundle-member-two:%20script' id='inner-bundle-member-two-js' data-wp-strategy='defer'></script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=outer-bundle-leaf-member:%20script' id='outer-bundle-leaf-member-js'></script>
<script id="defer-dependent-of-nested-aliases-js-before" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-nested-aliases: before inline" )
/* ]]> */
</script>
<script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-nested-aliases:%20script' id='defer-dependent-of-nested-aliases-js' data-wp-strategy='defer'></script>
<script id="defer-dependent-of-nested-aliases-js-after" type="text/javascript">
/* <![CDATA[ */
scriptEventLog.push( "defer-dependent-of-nested-aliases: after inline" )
/* ]]> */
</script>
HTML
,
Expand Down