@@ -854,52 +854,85 @@ public function test_wp_style_doing_it_wrong_for_missing_dependencies() {
854854 }
855855
856856 /**
857+ * Test query string on handle when enqueuing styles directly.
858+ *
857859 * @ticket 64372
860+ *
858861 * @covers WP_Styles::do_item
862+ *
863+ * @dataProvider data_varying_versions_handle_args
864+ *
865+ * @param mixed $version Version to pass when enqueuing.
866+ * @param string $expected_query_string Expected query string portion of the style sheet URL.
859867 */
860- public function test_varying_versions_with_args_added_to_enqueued_handle () {
861- $ versions = array (
862- 'string ' => '1.0.0 ' , // Same: ver=1.0.0&...
863- 'null ' => null , // Different: Bug Fixed (no ver on this branch)
864- 'false ' => false , // Same: 7.0-alpha...
865- 'empty-string ' => '' , // trunk: 7.0-alpha...; this branch ver&qs1=
866- 'integer ' => 123 , // Same: 123
867- 'float ' => 1.23 , // Same: 1.23
868- 'zero ' => 0 , // trunk: 7.0-alpha...; this branch ver=0
869- );
868+ public function test_varying_versions_added_to_handle_args_enqueued_styles ( $ version , $ expected_query_string ) {
869+ wp_enqueue_style ( 'test-style?qs1=q1&qs2=q2 ' , '/test-style.css ' , array (), $ version );
870+ $ markup = get_echo ( 'wp_print_styles ' );
870871
871- foreach ( $ versions as $ key => $ version ) {
872- wp_enqueue_style ( " enqueue-only- { $ key } ?qs1=q1&qs2=q2 " , " /path/to/qs- { $ key } .css " , array (), $ version );
873- }
872+ $ expected = " <link rel='stylesheet' href='/test-style.css? { $ expected_query_string } ' id='test-style-css' type='text/css' media='all' /> " ;
873+ $ this -> assertEqualHTML ( $ expected , $ markup , ' <body> ' , ' Expected equal snapshot for wp_print_styles() with version ' . var_export ( $ version, true ) . " : \n $ markup " );
874+ }
874875
875- // This does nothing on either trunk or feature branch. I think that's fine.
876- foreach ( $ versions as $ key => $ version ) {
877- wp_register_style ( "register-qs-then-enqueue- {$ key }?qs1=q1&qs2=q2 " , "/path/to/qs2- {$ key }.css " , array (), $ version );
878- wp_enqueue_style ( "register-qs-then-enqueue- {$ key }?qs1=q1&qs2=q2 " );
879- }
876+ /**
877+ * Test query string on handle when registering then enqueuing styles.
878+ *
879+ * @ticket 64372
880+ *
881+ * @covers WP_Styles::do_item
882+ *
883+ * @dataProvider data_varying_versions_handle_args
884+ *
885+ * @param mixed $version Version to pass when enqueuing.
886+ * @param string $expected_query_string Expected query string portion of the style sheet URL.
887+ */
888+ public function test_varying_versions_added_to_handle_args_registered_then_enqueued_styles ( $ version , $ expected_query_string ) {
889+ wp_register_style ( 'test-style ' , '/test-style.css ' , array (), $ version );
890+ wp_enqueue_style ( 'test-style?qs1=q1&qs2=q2 ' );
891+ $ markup = get_echo ( 'wp_print_styles ' );
880892
881- foreach ( $ versions as $ key => $ version ) {
882- wp_register_style ( "register-then-enqueue-qs- {$ key }" , "/path/to/qs3- {$ key }.css " , array (), $ version );
883- wp_enqueue_style ( "register-then-enqueue-qs- {$ key }?qs1=q1&qs2=q2 " );
884- }
893+ $ expected = "<link rel='stylesheet' href='/test-style.css? {$ expected_query_string }' id='test-style-css' type='text/css' media='all' /> " ;
894+ $ this ->assertEqualHTML ( $ expected , $ markup , '<body> ' , 'Expected equal snapshot for wp_print_styles() with version ' . var_export ( $ version , true ) . ": \n$ markup " );
895+ }
896+
897+ /**
898+ * Data provider for:
899+ * - test_varying_versions_added_to_handle_args_enqueued_scripts
900+ * - test_varying_versions_added_to_handle_args_registered_then_enqueued_scripts
901+ *
902+ * @return array[]
903+ */
904+ public function data_varying_versions_handle_args () {
905+ $ default_version = get_bloginfo ( 'version ' );
885906
886- $ markup = get_echo ( 'wp_print_styles ' );
887- $ expected = <<<'JS'
888- <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' />
889- <link rel='stylesheet' id='enqueue-only-null-css' href='/path/to/qs-null.css?qs1=q1&qs2=q2' type='text/css' media='all' />
890- <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' />
891- <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' />
892- <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' />
893- <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' />
894- <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' />
895- <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' />
896- <link rel='stylesheet' id='register-then-enqueue-qs-null-css' href='/path/to/qs3-null.css?qs1=q1&qs2=q2' type='text/css' media='all' />
897- <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' />
898- <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' />
899- <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' />
900- <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' />
901- <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' />
902- JS;
903- $ this ->assertEqualHTML ( $ expected , $ markup , '<body> ' , "Expected equal snapshot for wp_print_styles(): \n$ markup " );
907+ return array (
908+ 'string ' => array (
909+ '1.0.0 ' ,
910+ 'ver=1.0.0&qs1=q1&qs2=q2 ' ,
911+ ),
912+ 'null ' => array (
913+ null ,
914+ 'qs1=q1&qs2=q2 ' ,
915+ ),
916+ 'false ' => array (
917+ false ,
918+ "ver= {$ default_version }&qs1=q1&qs2=q2 " ,
919+ ),
920+ 'empty-string ' => array (
921+ '' ,
922+ "ver= {$ default_version }&qs1=q1&qs2=q2 " ,
923+ ),
924+ 'integer ' => array (
925+ 123 ,
926+ 'ver=123&qs1=q1&qs2=q2 ' ,
927+ ),
928+ 'float ' => array (
929+ 1.23 ,
930+ 'ver=1.23&qs1=q1&qs2=q2 ' ,
931+ ),
932+ 'zero ' => array (
933+ 0 ,
934+ "ver= {$ default_version }&qs1=q1&qs2=q2 " ,
935+ ),
936+ );
904937 }
905938}
0 commit comments