Skip to content

Commit 624ea26

Browse files
Add failing test cases
Co-authored-by: Peter Wilson <[email protected]>
1 parent 74ad540 commit 624ea26

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

tests/phpunit/tests/dependencies/scripts.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4130,4 +4130,53 @@ public function test_wp_scripts_doing_it_wrong_for_missing_dependencies() {
41304130
'Expected _doing_it_wrong() notice to indicate missing dependencies for enqueued script.'
41314131
);
41324132
}
4133+
4134+
/**
4135+
* @ticket 64372
4136+
*/
4137+
public function test_varying_versions_with_args_added_to_enqueued_handle() {
4138+
$versions = array(
4139+
'string' => '1.0.0', // Same: ver=1.0.0&...
4140+
'null' => null, // Different: Bug Fixed (no ver on this branch)
4141+
'false' => false, // Same: 7.0-alpha...
4142+
'empty-string' => '', // trunk: 7.0-alpha...; this branch ver&qs1=
4143+
'integer' => 123, // Same: 123
4144+
'float' => 1.23, // Same: 1.23
4145+
'zero' => 0, // trunk: 7.0-alpha...; this branch ver=0
4146+
);
4147+
4148+
foreach ( $versions as $key => $version ) {
4149+
wp_enqueue_script( "enqueue-only-{$key}?qs1=q1&qs2=q2", "/path/to/qs-{$key}.js", array(), $version );
4150+
}
4151+
4152+
// This does nothing on either trunk or feature branch. I think that's fine.
4153+
foreach ( $versions as $key => $version ) {
4154+
wp_register_script( "register-qs-then-enqueue-{$key}?qs1=q1&qs2=q2", "/path/to/qs2-{$key}.js", array(), $version );
4155+
wp_enqueue_script( "register-qs-then-enqueue-{$key}?qs1=q1&qs2=q2" );
4156+
}
4157+
4158+
foreach ( $versions as $key => $version ) {
4159+
wp_register_script( "register-then-enqueue-qs-{$key}", "/path/to/qs3-{$key}.js", array(), $version );
4160+
wp_enqueue_script( "register-then-enqueue-qs-{$key}?qs1=q1&qs2=q2" );
4161+
}
4162+
4163+
$markup = get_echo( 'wp_print_scripts' );
4164+
$expected = <<<'JS'
4165+
<script type="text/javascript" src="/path/to/qs-string.js?ver=1.0.0&amp;qs1=q1&amp;qs2=q2" id="enqueue-only-string-js"></script>
4166+
<script type="text/javascript" src="/path/to/qs-null.js?ver=qs1=q1&amp;qs2=q2" id="enqueue-only-null-js"></script>
4167+
<script type="text/javascript" src="/path/to/qs-false.js?ver=7.0-alpha-61215-src&amp;qs1=q1&amp;qs2=q2" id="enqueue-only-false-js"></script>
4168+
<script type="text/javascript" src="/path/to/qs-empty-string.js?ver=7.0-alpha-61215-src&amp;qs1=q1&amp;qs2=q2" id="enqueue-only-empty-string-js"></script>
4169+
<script type="text/javascript" src="/path/to/qs-integer.js?ver=123&amp;qs1=q1&amp;qs2=q2" id="enqueue-only-integer-js"></script>
4170+
<script type="text/javascript" src="/path/to/qs-float.js?ver=1.23&amp;qs1=q1&amp;qs2=q2" id="enqueue-only-float-js"></script>
4171+
<script type="text/javascript" src="/path/to/qs-zero.js?ver=7.0-alpha-61215-src&amp;qs1=q1&amp;qs2=q2" id="enqueue-only-zero-js"></script>
4172+
<script type="text/javascript" src="/path/to/qs3-string.js?ver=1.0.0&amp;qs1=q1&amp;qs2=q2" id="register-then-enqueue-qs-string-js"></script>
4173+
<script type="text/javascript" src="/path/to/qs3-null.js?ver=qs1=q1&amp;qs2=q2" id="register-then-enqueue-qs-null-js"></script>
4174+
<script type="text/javascript" src="/path/to/qs3-false.js?ver=7.0-alpha-61215-src&amp;qs1=q1&amp;qs2=q2" id="register-then-enqueue-qs-false-js"></script>
4175+
<script type="text/javascript" src="/path/to/qs3-empty-string.js?ver=7.0-alpha-61215-src&amp;qs1=q1&amp;qs2=q2" id="register-then-enqueue-qs-empty-string-js"></script>
4176+
<script type="text/javascript" src="/path/to/qs3-integer.js?ver=123&amp;qs1=q1&amp;qs2=q2" id="register-then-enqueue-qs-integer-js"></script>
4177+
<script type="text/javascript" src="/path/to/qs3-float.js?ver=1.23&amp;qs1=q1&amp;qs2=q2" id="register-then-enqueue-qs-float-js"></script>
4178+
<script type="text/javascript" src="/path/to/qs3-zero.js?ver=7.0-alpha-61215-src&amp;qs1=q1&amp;qs2=q2" id="register-then-enqueue-qs-zero-js"></script>
4179+
JS;
4180+
$this->assertEqualHTML( $expected, $markup, '<body>', "Expected equal snapshot for wp_print_scripts():\n$markup" );
4181+
}
41334182
}

tests/phpunit/tests/dependencies/styles.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,4 +852,53 @@ public function test_wp_style_doing_it_wrong_for_missing_dependencies() {
852852
'Expected _doing_it_wrong() notice to indicate missing dependencies for enqueued styles.'
853853
);
854854
}
855+
856+
/**
857+
* @ticket 64372
858+
*/
859+
public function test_varying_versions_with_args_added_to_enqueued_handle() {
860+
$versions = array(
861+
'string' => '1.0.0', // Same: ver=1.0.0&...
862+
'null' => null, // Different: Bug Fixed (no ver on this branch)
863+
'false' => false, // Same: 7.0-alpha...
864+
'empty-string' => '', // trunk: 7.0-alpha...; this branch ver&qs1=
865+
'integer' => 123, // Same: 123
866+
'float' => 1.23, // Same: 1.23
867+
'zero' => 0, // trunk: 7.0-alpha...; this branch ver=0
868+
);
869+
870+
foreach ( $versions as $key => $version ) {
871+
wp_enqueue_style( "enqueue-only-{$key}?qs1=q1&qs2=q2", "/path/to/qs-{$key}.css", array(), $version );
872+
}
873+
874+
// This does nothing on either trunk or feature branch. I think that's fine.
875+
foreach ( $versions as $key => $version ) {
876+
wp_register_style( "register-qs-then-enqueue-{$key}?qs1=q1&qs2=q2", "/path/to/qs2-{$key}.css", array(), $version );
877+
wp_enqueue_style( "register-qs-then-enqueue-{$key}?qs1=q1&qs2=q2" );
878+
}
879+
880+
foreach ( $versions as $key => $version ) {
881+
wp_register_style( "register-then-enqueue-qs-{$key}", "/path/to/qs3-{$key}.css", array(), $version );
882+
wp_enqueue_style( "register-then-enqueue-qs-{$key}?qs1=q1&qs2=q2" );
883+
}
884+
885+
$markup = get_echo( 'wp_print_styles' );
886+
$expected = <<<'JS'
887+
<link rel='stylesheet' id='enqueue-only-string-css' href='/path/to/qs-string.css?ver=1.0.0&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
888+
<link rel='stylesheet' id='enqueue-only-null-css' href='/path/to/qs-null.css?ver=qs1=q1&#038;qs2=q2' type='text/css' media='all' />
889+
<link rel='stylesheet' id='enqueue-only-false-css' href='/path/to/qs-false.css?ver=7.0-alpha-61215-src&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
890+
<link rel='stylesheet' id='enqueue-only-empty-string-css' href='/path/to/qs-empty-string.css?ver=7.0-alpha-61215-src&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
891+
<link rel='stylesheet' id='enqueue-only-integer-css' href='/path/to/qs-integer.css?ver=123&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
892+
<link rel='stylesheet' id='enqueue-only-float-css' href='/path/to/qs-float.css?ver=1.23&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
893+
<link rel='stylesheet' id='enqueue-only-zero-css' href='/path/to/qs-zero.css?ver=7.0-alpha-61215-src&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
894+
<link rel='stylesheet' id='register-then-enqueue-qs-string-css' href='/path/to/qs3-string.css?ver=1.0.0&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
895+
<link rel='stylesheet' id='register-then-enqueue-qs-null-css' href='/path/to/qs3-null.css?ver=qs1=q1&#038;qs2=q2' type='text/css' media='all' />
896+
<link rel='stylesheet' id='register-then-enqueue-qs-false-css' href='/path/to/qs3-false.css?ver=7.0-alpha-61215-src&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
897+
<link rel='stylesheet' id='register-then-enqueue-qs-empty-string-css' href='/path/to/qs3-empty-string.css?ver=7.0-alpha-61215-src&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
898+
<link rel='stylesheet' id='register-then-enqueue-qs-integer-css' href='/path/to/qs3-integer.css?ver=123&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
899+
<link rel='stylesheet' id='register-then-enqueue-qs-float-css' href='/path/to/qs3-float.css?ver=1.23&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
900+
<link rel='stylesheet' id='register-then-enqueue-qs-zero-css' href='/path/to/qs3-zero.css?ver=7.0-alpha-61215-src&#038;qs1=q1&#038;qs2=q2' type='text/css' media='all' />
901+
JS;
902+
$this->assertEqualHTML( $expected, $markup, '<body>', "Expected equal snapshot for wp_print_styles():\n$markup" );
903+
}
855904
}

0 commit comments

Comments
 (0)