mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Script Loader: Prevent double space between attributes in WP_Styles class.
This changeset prevents `<link />` elements to display a double space between attributes when no `title` attribute is provided. Props elten, audrasjb, whaze, SergeyBiryukov. Fixes #56675. git-svn-id: https://develop.svn.wordpress.org/trunk@54348 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e7f52d68b6
commit
7fed5bec3c
@ -224,10 +224,10 @@ class WP_Styles extends WP_Dependencies {
|
||||
}
|
||||
|
||||
$rel = isset( $obj->extra['alt'] ) && $obj->extra['alt'] ? 'alternate stylesheet' : 'stylesheet';
|
||||
$title = isset( $obj->extra['title'] ) ? sprintf( "title='%s'", esc_attr( $obj->extra['title'] ) ) : '';
|
||||
$title = isset( $obj->extra['title'] ) ? sprintf( " title='%s'", esc_attr( $obj->extra['title'] ) ) : '';
|
||||
|
||||
$tag = sprintf(
|
||||
"<link rel='%s' id='%s-css' %s href='%s'%s media='%s' />\n",
|
||||
"<link rel='%s' id='%s-css'%s href='%s'%s media='%s' />\n",
|
||||
$rel,
|
||||
$handle,
|
||||
$title,
|
||||
@ -259,7 +259,7 @@ class WP_Styles extends WP_Dependencies {
|
||||
}
|
||||
|
||||
$rtl_tag = sprintf(
|
||||
"<link rel='%s' id='%s-rtl-css' %s href='%s'%s media='%s' />\n",
|
||||
"<link rel='%s' id='%s-rtl-css'%s href='%s'%s media='%s' />\n",
|
||||
$rel,
|
||||
$handle,
|
||||
$title,
|
||||
|
||||
@ -63,10 +63,10 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
wp_enqueue_style( 'no-deps-null-version-print-media', 'example.com', array(), null, 'print' );
|
||||
|
||||
$ver = get_bloginfo( 'version' );
|
||||
$expected = "<link rel='stylesheet' id='no-deps-no-version-css' href='http://example.com?ver=$ver' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='no-deps-version-css' href='http://example.com?ver=1.2' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='no-deps-null-version-css' href='http://example.com' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='no-deps-null-version-print-media-css' href='http://example.com' type='text/css' media='print' />\n";
|
||||
$expected = "<link rel='stylesheet' id='no-deps-no-version-css' href='http://example.com?ver=$ver' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='no-deps-version-css' href='http://example.com?ver=1.2' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='no-deps-null-version-css' href='http://example.com' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='no-deps-null-version-print-media-css' href='http://example.com' type='text/css' media='print' />\n";
|
||||
|
||||
$this->assertSame( $expected, get_echo( 'wp_print_styles' ) );
|
||||
|
||||
@ -86,7 +86,7 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
wp_enqueue_style( 'no-deps-no-version', 'example.com' );
|
||||
|
||||
$ver = get_bloginfo( 'version' );
|
||||
$expected = "<link rel='stylesheet' id='no-deps-no-version-css' href='http://example.com?ver=$ver' media='all' />\n";
|
||||
$expected = "<link rel='stylesheet' id='no-deps-no-version-css' href='http://example.com?ver=$ver' media='all' />\n";
|
||||
|
||||
$this->assertSame( $expected, get_echo( 'wp_print_styles' ) );
|
||||
}
|
||||
@ -107,24 +107,24 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
|
||||
// Try with an HTTP reference.
|
||||
wp_enqueue_style( 'reset-css-http', 'http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-http-css' href='http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-http-css' href='http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
|
||||
// Try with an HTTPS reference.
|
||||
wp_enqueue_style( 'reset-css-https', 'http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-https-css' href='http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-https-css' href='http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
|
||||
// Try with an automatic protocol reference (//).
|
||||
wp_enqueue_style( 'reset-css-doubleslash', '//yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-doubleslash-css' href='//yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-doubleslash-css' href='//yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
|
||||
// Try with a local resource and an automatic protocol reference (//).
|
||||
$url = '//my_plugin/style.css';
|
||||
wp_enqueue_style( 'plugin-style', $url );
|
||||
$expected .= "<link rel='stylesheet' id='plugin-style-css' href='$url?ver=$ver' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='plugin-style-css' href='$url?ver=$ver' type='text/css' media='all' />\n";
|
||||
|
||||
// Try with a bad protocol.
|
||||
wp_enqueue_style( 'reset-css-ftp', 'ftp://yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-ftp-css' href='{$wp_styles->base_url}ftp://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='reset-css-ftp-css' href='{$wp_styles->base_url}ftp://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' type='text/css' media='all' />\n";
|
||||
|
||||
// Go!
|
||||
$this->assertSame( $expected, get_echo( 'wp_print_styles' ) );
|
||||
@ -147,7 +147,7 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
$style .= "\tbackground: red;\n";
|
||||
$style .= '}';
|
||||
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected .= "<style id='handle-inline-css' type='text/css'>\n";
|
||||
$expected .= "$style\n";
|
||||
$expected .= "</style>\n";
|
||||
@ -176,7 +176,7 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
$style .= "\tbackground: red;\n";
|
||||
$style .= '}';
|
||||
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected .= "<style id='handle-inline-css' type='text/css'>\n";
|
||||
$expected .= "$style\n";
|
||||
$expected .= "</style>\n";
|
||||
@ -258,7 +258,7 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
$style2 .= "\tbackground: blue;\n";
|
||||
$style2 .= '}';
|
||||
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected .= "<style id='handle-inline-css' type='text/css'>\n";
|
||||
$expected .= "$style1\n";
|
||||
$expected .= "$style2\n";
|
||||
@ -287,7 +287,7 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
$style .= "}\n";
|
||||
$style .= '</style>';
|
||||
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected .= "$style\n";
|
||||
|
||||
wp_enqueue_style( 'handle', 'http://example.com', array(), 1 );
|
||||
@ -305,7 +305,7 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
*/
|
||||
public function test_unnecessary_style_tags() {
|
||||
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
|
||||
wp_enqueue_style( 'handle', 'http://example.com', array(), 1 );
|
||||
|
||||
@ -320,7 +320,7 @@ class Tests_Dependencies_Styles extends WP_UnitTestCase {
|
||||
public function test_conditional_inline_styles_are_also_conditional() {
|
||||
$expected = <<<CSS
|
||||
<!--[if IE]>
|
||||
<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />
|
||||
<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />
|
||||
<style id='handle-inline-css' type='text/css'>
|
||||
a { color: blue; }
|
||||
</style>
|
||||
@ -350,8 +350,8 @@ CSS;
|
||||
public function test_wp_add_inline_style_for_handle_without_source() {
|
||||
$style = 'a { color: blue; }';
|
||||
|
||||
$expected = "<link rel='stylesheet' id='handle-one-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='handle-two-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected = "<link rel='stylesheet' id='handle-one-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected .= "<link rel='stylesheet' id='handle-two-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
|
||||
$expected .= "<style id='handle-three-inline-css' type='text/css'>\n";
|
||||
$expected .= "$style\n";
|
||||
$expected .= "</style>\n";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user