@@ -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&qs1=q1&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&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&qs1=q1&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&qs1=q1&qs2=q2' type='text/css' media='all' />
891+ <link rel='stylesheet' id='enqueue-only-integer-css' href='/path/to/qs-integer.css?ver=123&qs1=q1&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&qs1=q1&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&qs1=q1&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&qs1=q1&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&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&qs1=q1&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&qs1=q1&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&qs1=q1&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&qs1=q1&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&qs1=q1&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