Make WordPress Core

Changeset 61411


Ignore:
Timestamp:
12/26/2025 01:14:22 PM (9 months ago)
Author:
jonsurrell
Message:

Scripts: Remove default type attribute from tags.

SCRIPT, STYLE, and stylesheet LINK tags do not require a type attribute since the HTML5 standard was released in 2008. Removing the type attribute simplifies logic and normalizes the produced HTML content.

Developed in ​https://github.com/WordPress/wordpress-develop/pull/10658.

Follow-up to [46164].

Props hardikhuptechdev, jonsurrell, dmsnell, westonruter.
Fixes #64428. See #59883, #64442.

Location:
trunk
Files:
36 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-activate.php

    r60914 r61411  
    101101function wpmu_activate_stylesheet() {
    102102        ?>
    103         <style type="text/css">
     103        <style>
    104104                .wp-activate-container { width: 90%; margin: 0 auto; }
    105105                .wp-activate-container form { margin-top: 2em; }
  • trunk/src/wp-admin/includes/ajax-actions.php

    r61312 r61411  
    39473947
    39483948        foreach ( $styles as $style ) {
    3949                 $head .= '<link type="text/css" rel="stylesheet" href="' . $style . '">';
     3949                $head .= '<link rel="stylesheet" href="' . $style . '">';
    39503950        }
    39513951
  • trunk/src/wp-admin/includes/plugin-install.php

    r61353 r61411  
    607607                $high         = empty( $api->banners['high'] ) ? $api->banners['low'] : $api->banners['high'];
    608608                ?>
    609                 <style type="text/css">
     609                <style>
    610610                        #plugin-information-title.with-banner {
    611611                                background-image: url( <?php echo esc_url( $low ); ?> );
  • trunk/src/wp-admin/includes/privacy-tools.php

    r60178 r61411  
    452452        fwrite( $file, "<head>\n" );
    453453        fwrite( $file, "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />\n" );
    454         fwrite( $file, "<style type='text/css'>" );
     454        fwrite( $file, '<style>' );
    455455        fwrite( $file, 'body { color: black; font-family: Arial, sans-serif; font-size: 11pt; margin: 15px auto; width: 860px; }' );
    456456        fwrite( $file, 'table { background: #f0f0f0; border: 1px solid #ddd; margin-bottom: 20px; width: 100%; }' );
  • trunk/src/wp-content/themes/twentyeleven/functions.php

    r61315 r61411  
    336336                // If we get this far, we have custom styles. Let's do this.
    337337                ?>
    338                 <style type="text/css" id="twentyeleven-header-css">
     338                <style id="twentyeleven-header-css">
    339339                <?php
    340340                // Has the text been hidden?
  • trunk/src/wp-content/themes/twentyeleven/header.php

    r61329 r61411  
    3939        </title>
    4040<link rel="profile" href="https://gmpg.org/xfn/11" />
    41 <link rel="stylesheet" type="text/css" media="all" href="<?php echo esc_url( get_stylesheet_uri() ); ?>?ver=20251202" />
     41<link rel="stylesheet" media="all" href="<?php echo esc_url( get_stylesheet_uri() ); ?>?ver=20251202" />
    4242<link rel="pingback" href="<?php echo esc_url( get_bloginfo( 'pingback_url' ) ); ?>">
    4343<?php
  • trunk/src/wp-content/themes/twentyfifteen/inc/custom-header.php

    r60521 r61411  
    9696                // If we get this far, we have custom styles. Let's do this.
    9797                ?>
    98                 <style type="text/css" id="twentyfifteen-header-css">
     98                <style id="twentyfifteen-header-css">
    9999                <?php
    100100                // Short header for when there is no Custom Header and Header Text is hidden.
  • trunk/src/wp-content/themes/twentyfourteen/inc/custom-header.php

    r60519 r61411  
    7070                // If we get this far, we have custom styles.
    7171                ?>
    72                 <style type="text/css" id="twentyfourteen-header-css">
     72                <style id="twentyfourteen-header-css">
    7373                <?php
    7474                // Has the text been hidden?
  • trunk/src/wp-content/themes/twentynineteen/functions.php

    r61329 r61411  
    350350        ?>
    351351
    352         <style type="text/css" id="custom-theme-colors" <?php echo is_customize_preview() ? 'data-hue="' . absint( $primary_color ) . '"' : ''; ?>>
     352        <style id="custom-theme-colors" <?php echo is_customize_preview() ? 'data-hue="' . absint( $primary_color ) . '"' : ''; ?>>
    353353                <?php echo twentynineteen_custom_colors_css(); ?>
    354354        </style>
  • trunk/src/wp-content/themes/twentyseventeen/functions.php

    r61329 r61411  
    444444        }
    445445        ?>
    446         <style type="text/css" id="custom-theme-colors" <?php echo $customize_preview_data_hue; ?>>
     446        <style id="custom-theme-colors" <?php echo $customize_preview_data_hue; ?>>
    447447                <?php echo twentyseventeen_custom_colors_css(); ?>
    448448        </style>
  • trunk/src/wp-content/themes/twentyseventeen/inc/custom-header.php

    r60533 r61411  
    7878                // If we get this far, we have custom styles. Let's do this.
    7979                ?>
    80                 <style id="twentyseventeen-custom-header-styles" type="text/css">
     80                <style id="twentyseventeen-custom-header-styles">
    8181                <?php
    8282                // Has the text been hidden?
  • trunk/src/wp-content/themes/twentysixteen/inc/customizer.php

    r60965 r61411  
    9191                // If the header text has been hidden.
    9292                ?>
    93                 <style type="text/css" id="twentysixteen-header-css">
     93                <style id="twentysixteen-header-css">
    9494                .site-branding {
    9595                        margin: 0 auto 0 0;
  • trunk/src/wp-content/themes/twentyten/functions.php

    r60509 r61411  
    276276        function twentyten_admin_header_style() {
    277277                ?>
    278         <style type="text/css" id="twentyten-admin-header-css">
     278        <style id="twentyten-admin-header-css">
    279279        /* Shows the same border as on front end */
    280280        #headimg {
  • trunk/src/wp-content/themes/twentyten/header.php

    r61329 r61411  
    4040        </title>
    4141<link rel="profile" href="https://gmpg.org/xfn/11" />
    42 <link rel="stylesheet" type="text/css" media="all" href="<?php echo esc_url( get_stylesheet_uri() ); ?>?ver=20251202" />
     42<link rel="stylesheet" media="all" href="<?php echo esc_url( get_stylesheet_uri() ); ?>?ver=20251202" />
    4343<link rel="pingback" href="<?php echo esc_url( get_bloginfo( 'pingback_url' ) ); ?>">
    4444<?php
  • trunk/src/wp-content/themes/twentythirteen/inc/custom-header.php

    r61329 r61411  
    9797        // If we get this far, we have custom styles.
    9898        ?>
    99         <style type="text/css" id="twentythirteen-header-css">
     99        <style id="twentythirteen-header-css">
    100100        <?php
    101101        if ( ! empty( $header_image ) ) :
  • trunk/src/wp-content/themes/twentytwelve/inc/custom-header.php

    r60514 r61411  
    7878        // If we get this far, we have custom styles.
    7979        ?>
    80         <style type="text/css" id="twentytwelve-header-css">
     80        <style id="twentytwelve-header-css">
    8181        <?php
    8282                // Has the text been hidden?
  • trunk/src/wp-includes/class-wp-styles.php

    r61397 r61411  
    107107
    108108        /**
    109          * Holds a string which contains the type attribute for style tag.
    110          *
    111          * If the active theme does not declare HTML5 support for 'style',
    112          * then it initializes as `type='text/css'`.
    113          *
    114          * @since 5.3.0
    115          * @var string
    116          */
    117         private $type_attr = '';
    118 
    119         /**
    120109         * Constructor.
    121110         *
    … …  
    123112         */
    124113        public function __construct() {
    125                 if (
    126                         (
    127                                 function_exists( 'is_admin' ) &&
    128                                 ! is_admin()
    129                         )
    130                         &&
    131                         (
    132                                 function_exists( 'current_theme_supports' ) &&
    133                                 ! current_theme_supports( 'html5', 'style' )
    134                         )
    135                 ) {
    136                         $this->type_attr = " type='text/css'";
    137                 }
    138 
    139114                /**
    140115                 * Fires when the WP_Styles instance is initialized.
    … …  
    185160                if ( $inline_style ) {
    186161                        $inline_style_tag = sprintf(
    187                                 "<style id='%s-inline-css'%s>\n%s\n</style>\n",
     162                                "<style id='%s-inline-css'>\n%s\n</style>\n",
    188163                                esc_attr( $handle ),
    189                                 $this->type_attr,
    190164                                $inline_style
    191165                        );
    … …  
    233207
    234208                $tag = sprintf(
    235                         "<link rel='%s' id='%s-css'%s href='%s'%s media='%s' />\n",
     209                        "<link rel='%s' id='%s-css'%s href='%s' media='%s' />\n",
    236210                        $rel,
    237211                        esc_attr( $handle ),
    238212                        $title ? sprintf( " title='%s'", esc_attr( $title ) ) : '',
    239213                        $href,
    240                         $this->type_attr,
    241214                        esc_attr( $media )
    242215                );
    … …  
    265238
    266239                        $rtl_tag = sprintf(
    267                                 "<link rel='%s' id='%s-rtl-css'%s href='%s'%s media='%s' />\n",
     240                                "<link rel='%s' id='%s-rtl-css'%s href='%s' media='%s' />\n",
    268241                                $rel,
    269242                                esc_attr( $handle ),
    270243                                $title ? sprintf( " title='%s'", esc_attr( $title ) ) : '',
    271244                                $rtl_href,
    272                                 $this->type_attr,
    273245                                esc_attr( $media )
    274246                        );
    … …  
    366338
    367339                printf(
    368                         "<style id='%s-inline-css'%s>\n%s\n</style>\n",
     340                        "<style id='%s-inline-css'>\n%s\n</style>\n",
    369341                        esc_attr( $handle ),
    370                         $this->type_attr,
    371342                        $output
    372343                );
  • trunk/src/wp-includes/deprecated.php

    r60910 r61411  
    58985898        _deprecated_function( __FUNCTION__, '6.4.0', 'wp_enqueue_embed_styles' );
    58995899
    5900         $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
    5901         $suffix    = SCRIPT_DEBUG ? '' : '.min';
     5900        $suffix = SCRIPT_DEBUG ? '' : '.min';
    59025901        ?>
    5903         <style<?php echo $type_attr; ?>>
     5902        <style>
    59045903                <?php echo file_get_contents( ABSPATH . WPINC . "/css/wp-embed-template$suffix.css" ); ?>
    59055904        </style>
    … …  
    59235922        $printed = true;
    59245923
    5925         $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
    59265924        ?>
    5927         <style<?php echo $type_attr; ?>>
     5925        <style>
    59285926        img.wp-smiley,
    59295927        img.emoji {
    … …  
    59505948function wp_admin_bar_header() {
    59515949        _deprecated_function( __FUNCTION__, '6.4.0', 'wp_enqueue_admin_bar_header_styles' );
    5952         $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
    59535950        ?>
    5954         <style<?php echo $type_attr; ?> media="print">#wpadminbar { display:none; }</style>
     5951        <style media="print">#wpadminbar { display:none; }</style>
    59555952        <?php
    59565953}
    … …  
    59645961function _admin_bar_bump_cb() {
    59655962        _deprecated_function( __FUNCTION__, '6.4.0', 'wp_enqueue_admin_bar_bump_styles' );
    5966         $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
    59675963        ?>
    5968         <style<?php echo $type_attr; ?> media="screen">
     5964        <style media="screen">
    59695965        html { margin-top: 32px !important; }
    59705966        @media screen and ( max-width: 782px ) {
  • trunk/src/wp-includes/fonts/class-wp-font-face.php

    r59259 r61411  
    6363
    6464        /**
    65          * Array of font-face style tag's attribute(s)
    66          * where the key is the attribute name and the
    67          * value is its value.
    68          *
    69          * @since 6.4.0
    70          *
    71          * @var string[]
    72          */
    73         private $style_tag_attrs = array();
    74 
    75         /**
    76          * Creates and initializes an instance of WP_Font_Face.
    77          *
    78          * @since 6.4.0
    79          */
    80         public function __construct() {
    81                 if (
    82                         function_exists( 'is_admin' ) && ! is_admin()
    83                         &&
    84                         function_exists( 'current_theme_supports' ) && ! current_theme_supports( 'html5', 'style' )
    85                 ) {
    86                         $this->style_tag_attrs = array( 'type' => 'text/css' );
    87                 }
    88         }
    89 
    90         /**
    9165         * Generates and prints the `@font-face` styles for the given fonts.
    9266         *
    … …  
    228202         */
    229203        private function get_style_element() {
    230                 $attributes = $this->generate_style_element_attributes();
    231 
    232                 return "<style class='wp-fonts-local'{$attributes}>\n%s\n</style>\n";
    233         }
    234 
    235         /**
    236          * Gets the defined <style> element's attributes.
    237          *
    238          * @since 6.4.0
    239          *
    240          * @return string A string of attribute=value when defined, else, empty string.
    241          */
    242         private function generate_style_element_attributes() {
    243                 $attributes = '';
    244                 foreach ( $this->style_tag_attrs as $name => $value ) {
    245                         $attributes .= " {$name}='{$value}'";
    246                 }
    247                 return $attributes;
     204                return "<style class='wp-fonts-local'>\n%s\n</style>\n";
    248205        }
    249206
  • trunk/src/wp-includes/functions.php

    r61387 r61411  
    39223922                ?>
    39233923        <title><?php echo $title; ?></title>
    3924         <style type="text/css">
     3924        <style>
    39253925                html {
    39263926                        background: #f1f1f1;
  • trunk/src/wp-includes/general-template.php

    r61326 r61411  
    50625062
    50635063        $stylesheet_link = sprintf(
    5064                 "<link rel='stylesheet' href='%s' type='text/css' />\n",
     5064                "<link rel='stylesheet' href='%s' />\n",
    50655065                esc_url( wp_admin_css_uri( $file ) )
    50665066        );
    … …  
    50815081        if ( function_exists( 'is_rtl' ) && is_rtl() ) {
    50825082                $rtl_stylesheet_link = sprintf(
    5083                         "<link rel='stylesheet' href='%s' type='text/css' />\n",
     5083                        "<link rel='stylesheet' href='%s' />\n",
    50845084                        esc_url( wp_admin_css_uri( "$file-rtl" ) )
    50855085                );
  • trunk/src/wp-includes/media.php

    r61387 r61411  
    28722872         */
    28732873        if ( apply_filters( 'use_default_gallery_style', ! $html5 ) ) {
    2874                 $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
    2875 
    28762874                $gallery_style = "
    2877                 <style{$type_attr}>
     2875                <style>
    28782876                        #{$selector} {
    28792877                                margin: auto;
  • trunk/src/wp-includes/ms-deprecated.php

    r57987 r61411  
    9595<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    9696<title>Error!</title>
    97 <style type="text/css">
     97<style>
    9898img {
    9999        border: 0;
  • trunk/src/wp-includes/script-loader.php

    r61388 r61411  
    22062206        }
    22072207
    2208         $concat    = trim( $wp_scripts->concat, ', ' );
    2209         $type_attr = current_theme_supports( 'html5', 'script' ) ? '' : " type='text/javascript'";
     2208        $concat = trim( $wp_scripts->concat, ', ' );
    22102209
    22112210        if ( $concat ) {
    22122211                if ( ! empty( $wp_scripts->print_code ) ) {
    2213                         echo "\n<script{$type_attr}>\n";
     2212                        echo "\n<script>\n";
    22142213                        echo "/* <![CDATA[ */\n"; // Not needed in HTML 5.
    22152214                        echo $wp_scripts->print_code;
    … …  
    22272226
    22282227                $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}" . $concatenated . '&ver=' . $wp_scripts->default_version;
    2229                 echo "<script{$type_attr} src='" . esc_attr( $src ) . "'></script>\n";
     2228                echo "<script src='" . esc_attr( $src ) . "'></script>\n";
    22302229        }
    22312230
    … …  
    23992398        }
    24002399
    2401         $concat    = trim( $wp_styles->concat, ', ' );
    2402         $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
     2400        $concat = trim( $wp_styles->concat, ', ' );
    24032401
    24042402        if ( $concat ) {
    … …  
    24152413
    24162414                $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}" . $concatenated . '&ver=' . $ver;
    2417                 echo "<link rel='stylesheet' href='" . esc_attr( $href ) . "'{$type_attr} media='all' />\n";
     2415                echo "<link rel='stylesheet' href='" . esc_attr( $href ) . "' media='all' />\n";
    24182416
    24192417                if ( ! empty( $wp_styles->print_code ) ) {
    2420                         echo "<style{$type_attr}>\n";
     2418                        echo "<style>\n";
    24212419                        echo $wp_styles->print_code;
    24222420                        echo sprintf( "\n/*# sourceURL=%s */", rawurlencode( $concat_source_url ) );
    … …  
    29062904 */
    29072905function wp_get_script_tag( $attributes ) {
    2908         if ( ! isset( $attributes['type'] ) && ! is_admin() && ! current_theme_supports( 'html5', 'script' ) ) {
    2909                 // Keep the type attribute as the first for legacy reasons (it has always been this way in core).
    2910                 $attributes = array_merge(
    2911                         array( 'type' => 'text/javascript' ),
    2912                         $attributes
    2913                 );
    2914         }
    29152906        /**
    29162907         * Filters attributes to be added to a script tag.
    … …  
    29542945 */
    29552946function wp_get_inline_script_tag( $data, $attributes = array() ) {
    2956         $is_html5 = current_theme_supports( 'html5', 'script' ) || is_admin();
    2957         if ( ! isset( $attributes['type'] ) && ! $is_html5 ) {
    2958                 // Keep the type attribute as the first for legacy reasons (it has always been this way in core).
    2959                 $attributes = array_merge(
    2960                         array( 'type' => 'text/javascript' ),
    2961                         $attributes
    2962                 );
    2963         }
    2964 
    29652947        /*
    29662948         * XHTML extracts the contents of the SCRIPT element and then the XML parser
    … …  
    29882970         */
    29892971        if (
    2990                 ! $is_html5 &&
     2972                ! current_theme_supports( 'html5', 'script' ) &&
    29912973                (
    29922974                        ! isset( $attributes['type'] ) ||
  • trunk/src/wp-includes/theme-compat/header.php

    r54881 r61411  
    2424<title><?php echo wp_get_document_title(); ?></title>
    2525
    26 <link rel="stylesheet" href="<?php bloginfo( 'stylesheet_url' ); ?>" type="text/css" media="screen" />
     26<link rel="stylesheet" href="<?php bloginfo( 'stylesheet_url' ); ?>" media="screen" />
    2727<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
    2828
    2929<?php if ( file_exists( get_stylesheet_directory() . '/images/kubrickbgwide.jpg' ) ) { ?>
    30 <style type="text/css" media="screen">
     30<style media="screen">
    3131
    3232        <?php
  • trunk/src/wp-includes/theme.php

    r60995 r61411  
    734734        }
    735735
    736         $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
    737 
    738736        printf(
    739                 '<link rel="stylesheet" href="%s"%s media="screen" />',
    740                 $stylesheet,
    741                 $type_attr
     737                '<link rel="stylesheet" href="%s" media="screen" />',
     738                $stylesheet
    742739        );
    743740}
  • trunk/src/wp-includes/widgets/class-wp-widget-recent-comments.php

    r51967 r61411  
    5656                }
    5757
    58                 $type_attr = current_theme_supports( 'html5', 'style' ) ? '' : ' type="text/css"';
    59 
    60                 printf(
    61                         '<style%s>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>',
    62                         $type_attr
    63                 );
     58                echo '<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>';
    6459        }
    6560
  • trunk/src/wp-login.php

    r61387 r61411  
    177177
    178178                ?>
    179                 <style type="text/css">html{background-color: transparent;}</style>
     179                <style>html{background-color: transparent;}</style>
    180180                <?php
    181181
  • trunk/src/wp-signup.php

    r59960 r61411  
    6464function wpmu_signup_stylesheet() {
    6565        ?>
    66         <style type="text/css">
     66        <style>
    6767                .mu_register { width: 90%; margin: 0 auto; }
    6868                .mu_register form { margin-top: 2em; }
  • trunk/tests/phpunit/tests/dependencies/scripts.php

    r61401 r61411  
    4848
    4949                $this->wp_scripts_print_translations_output  = <<<JS
    50 <script type='text/javascript' id='__HANDLE__-js-translations'>
     50<script id='__HANDLE__-js-translations'>
    5151/* <![CDATA[ */
    5252( function( domain, translations ) {
    … …  
    126126                wp_enqueue_script( 'registered-no-qs-handle-null-version-enqueued-with-qs?arg1=foo&arg2=bar' );
    127127
    128                 $expected  = "<script type='text/javascript' src='http://example.com?ver={$wp_version}' id='no-deps-no-version-js'></script>\n";
    129                 $expected .= "<script type='text/javascript' src='http://example.com?ver={$wp_version}' id='empty-deps-no-version-js'></script>\n";
    130                 $expected .= "<script type='text/javascript' src='http://example.com?ver=1.2' id='empty-deps-version-js'></script>\n";
    131                 $expected .= "<script type='text/javascript' src='http://example.com' id='empty-deps-null-version-js'></script>\n";
    132                 $expected .= "<script type='text/javascript' src='https://example.com/test.js?ver=2.0&amp;arg1=foo&amp;arg2=bar' id='empty-deps-arg-in-handle-with-ver-js'></script>\n";
    133                 $expected .= "<script type='text/javascript' src='https://example.com/test.js?arg1=foo&amp;arg2=bar' id='empty-deps-arg-in-handle-without-ver-js'></script>\n";
    134                 $expected .= "<script type='text/javascript' src='https://example.com/test.js?ver={$wp_version}&amp;arg1=foo&amp;arg2=bar' id='registered-no-qs-handle-null-version-enqueued-with-qs-js'></script>\n";
     128                $expected  = "<script src='http://example.com?ver={$wp_version}' id='no-deps-no-version-js'></script>\n";
     129                $expected .= "<script src='http://example.com?ver={$wp_version}' id='empty-deps-no-version-js'></script>\n";
     130                $expected .= "<script src='http://example.com?ver=1.2' id='empty-deps-version-js'></script>\n";
     131                $expected .= "<script src='http://example.com' id='empty-deps-null-version-js'></script>\n";
     132                $expected .= "<script src='https://example.com/test.js?ver=2.0&amp;arg1=foo&amp;arg2=bar' id='empty-deps-arg-in-handle-with-ver-js'></script>\n";
     133                $expected .= "<script src='https://example.com/test.js?arg1=foo&amp;arg2=bar' id='empty-deps-arg-in-handle-without-ver-js'></script>\n";
     134                $expected .= "<script src='https://example.com/test.js?ver={$wp_version}&amp;arg1=foo&amp;arg2=bar' id='registered-no-qs-handle-null-version-enqueued-with-qs-js'></script>\n";
    135135
    136136                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    173173                wp_add_inline_script( 'ms-isa-1', 'console.log(\'after one\');', 'after' );
    174174                $output    = get_echo( 'wp_print_scripts' );
    175                 $expected  = "<script type='text/javascript' src='http://example.org/ms-isa-1.js' id='ms-isa-1-js' data-wp-strategy='{$strategy}'></script>\n";
     175                $expected  = "<script src='http://example.org/ms-isa-1.js' id='ms-isa-1-js' data-wp-strategy='{$strategy}'></script>\n";
    176176                $expected .= wp_get_inline_script_tag(
    177177                        "console.log('after one');\n//# sourceURL=ms-isa-1-js-after",
    … …  
    186186         * Tests that inline scripts in the `after` position, attached to a blocking main script, are rendered as javascript.
    187187         *
    188          * If a main script with a `blocking` strategy has an `after` inline script,
    189          * the inline script should be rendered as type='text/javascript'.
    190          *
    191188         * @ticket 12009
    192189         *
    … …  
    201198                $output = get_echo( 'wp_print_scripts' );
    202199
    203                 $expected  = "<script type='text/javascript' src='http://example.org/ms-insa-3.js' id='ms-insa-3-js'></script>\n";
     200                $expected  = "<script src='http://example.org/ms-insa-3.js' id='ms-insa-3-js'></script>\n";
    204201                $expected .= wp_get_inline_script_tag(
    205202                        "console.log('after one');\n//# sourceURL=ms-insa-3-js-after",
    … …  
    242239                        )
    243240                );
    244                 $expected .= "<script type='text/javascript' src='http://example.org/ds-i1-1.js' id='ds-i1-1-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
    245                 $expected .= "<script type='text/javascript' src='http://example.org/ds-i1-2.js' id='ds-i1-2-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
    246                 $expected .= "<script type='text/javascript' src='http://example.org/ds-i1-3.js' id='ds-i1-3-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
     241                $expected .= "<script src='http://example.org/ds-i1-1.js' id='ds-i1-1-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
     242                $expected .= "<script src='http://example.org/ds-i1-2.js' id='ds-i1-2-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
     243                $expected .= "<script src='http://example.org/ds-i1-3.js' id='ds-i1-3-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
    247244                $expected .= wp_get_inline_script_tag(
    248245                        "console.log('before last');\n//# sourceURL=ms-i1-1-js-before",
    249246                        array(
    250                                 'id'   => 'ms-i1-1-js-before',
    251                                 'type' => 'text/javascript',
     247                                'id' => 'ms-i1-1-js-before',
    252248                        )
    253249                );
    254                 $expected .= "<script type='text/javascript' src='http://example.org/ms-i1-1.js' id='ms-i1-1-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
     250                $expected .= "<script src='http://example.org/ms-i1-1.js' id='ms-i1-1-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>\n";
    255251
    256252                $this->assertEqualHTML( $expected, $output, '<body>', 'Inline scripts in the "before" position, that are attached to a deferred main script, are failing to print/execute.' );
    … …  
    271267                wp_enqueue_script( 'main-script-a1', '/main-script-a1.js', array(), null, array( 'strategy' => 'async' ) );
    272268                $output   = get_echo( 'wp_print_scripts' );
    273                 $expected = "<script type='text/javascript' src='/main-script-a1.js' id='main-script-a1-js' async='async' data-wp-strategy='async'></script>\n";
     269                $expected = "<script src='/main-script-a1.js' id='main-script-a1-js' async='async' data-wp-strategy='async'></script>\n";
    274270                $this->assertEqualHTML( $expected, $output, '<body>', 'Scripts enqueued with an async loading strategy are failing to have the async attribute applied to the script handle when being printed.' );
    275271        }
    … …  
    293289                wp_enqueue_script( 'main-script-a2', '/main-script-a2.js', array( 'dependency-script-a2' ), null, compact( 'strategy' ) );
    294290                $output    = get_echo( 'wp_print_scripts' );
    295                 $expected  = "<script id='dependency-script-a2-js' src='/dependency-script-a2.js' type='text/javascript'></script>\n";
    296                 $expected .= "<script type='text/javascript' src='/main-script-a2.js' id='main-script-a2-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>";
     291                $expected  = "<script id='dependency-script-a2-js' src='/dependency-script-a2.js'></script>\n";
     292                $expected .= "<script src='/main-script-a2.js' id='main-script-a2-js' {$strategy}='{$strategy}' data-wp-strategy='{$strategy}'></script>";
    297293                $this->assertEqualHTML( $expected, $output, '<body>', 'Dependents of a blocking dependency are free to have any strategy.' );
    298294        }
    … …  
    316312                $output   = get_echo( 'wp_print_scripts' );
    317313                $expected = <<<JS
    318                         <script type='text/javascript' src='/main-script-a3.js' id='main-script-a3-js' data-wp-strategy='{$strategy}'></script>
    319                         <script id="dependent-script-a3-js" src="/dependent-script-a3.js" type="text/javascript"></script>
     314                        <script src='/main-script-a3.js' id='main-script-a3-js' data-wp-strategy='{$strategy}'></script>
     315                        <script id="dependent-script-a3-js" src="/dependent-script-a3.js"></script>
    320316JS;
    321317                $this->assertEqualHTML( $expected, $output, '<body>', 'Blocking dependents must force delayed dependencies to become blocking.' );
    … …  
    567563                                },
    568564                                'expected_markup' => <<<HTML
    569 <script id="blocking-not-async-without-dependency-js-before" type="text/javascript">
     565<script id="blocking-not-async-without-dependency-js-before">
    570566/* <![CDATA[ */
    571567scriptEventLog.push( "blocking-not-async-without-dependency: before inline" )
    … …  
    573569/* ]]> */
    574570</script>
    575 <script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-not-async-without-dependency%3A+script' id='blocking-not-async-without-dependency-js'></script>
    576 <script id="blocking-not-async-without-dependency-js-after" type="text/javascript">
     571<script src='https://example.com/external.js?script_event_log=blocking-not-async-without-dependency%3A+script' id='blocking-not-async-without-dependency-js'></script>
     572<script id="blocking-not-async-without-dependency-js-after">
    577573/* <![CDATA[ */
    578574scriptEventLog.push( "blocking-not-async-without-dependency: after inline" )
    … …  
    580576/* ]]> */
    581577</script>
    582 <script id="async-with-blocking-dependency-js-before" type="text/javascript">
     578<script id="async-with-blocking-dependency-js-before">
    583579/* <![CDATA[ */
    584580scriptEventLog.push( "async-with-blocking-dependency: before inline" )
    … …  
    586582/* ]]> */
    587583</script>
    588 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async-with-blocking-dependency%3A+script' id='async-with-blocking-dependency-js' data-wp-strategy='async'></script>
    589 <script id="async-with-blocking-dependency-js-after" type="text/javascript">
     584<script src='https://example.com/external.js?script_event_log=async-with-blocking-dependency%3A+script' id='async-with-blocking-dependency-js' data-wp-strategy='async'></script>
     585<script id="async-with-blocking-dependency-js-after">
    590586/* <![CDATA[ */
    591587scriptEventLog.push( "async-with-blocking-dependency: after inline" )
    … …  
    616612                                },
    617613                                'expected_markup' => <<<HTML
    618 <script id="async-no-dependency-js-before" type="text/javascript">
     614<script id="async-no-dependency-js-before">
    619615/* <![CDATA[ */
    620616scriptEventLog.push( "async-no-dependency: before inline" )
    … …  
    622618/* ]]> */
    623619</script>
    624 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async-no-dependency%3A+script' id='async-no-dependency-js' data-wp-strategy='async'></script>
    625 <script id="async-no-dependency-js-after" type="text/javascript">
     620<script src='https://example.com/external.js?script_event_log=async-no-dependency%3A+script' id='async-no-dependency-js' data-wp-strategy='async'></script>
     621<script id="async-no-dependency-js-after">
    626622/* <![CDATA[ */
    627623scriptEventLog.push( "async-no-dependency: after inline" )
    … …  
    629625/* ]]> */
    630626</script>
    631 <script id="async-one-async-dependency-js-before" type="text/javascript">
     627<script id="async-one-async-dependency-js-before">
    632628/* <![CDATA[ */
    633629scriptEventLog.push( "async-one-async-dependency: before inline" )
    … …  
    635631/* ]]> */
    636632</script>
    637 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async-one-async-dependency%3A+script' id='async-one-async-dependency-js' data-wp-strategy='async'></script>
    638 <script id="async-one-async-dependency-js-after" type="text/javascript">
     633<script src='https://example.com/external.js?script_event_log=async-one-async-dependency%3A+script' id='async-one-async-dependency-js' data-wp-strategy='async'></script>
     634<script id="async-one-async-dependency-js-after">
    639635/* <![CDATA[ */
    640636scriptEventLog.push( "async-one-async-dependency: after inline" )
    … …  
    642638/* ]]> */
    643639</script>
    644 <script id="async-two-async-dependencies-js-before" type="text/javascript">
     640<script id="async-two-async-dependencies-js-before">
    645641/* <![CDATA[ */
    646642scriptEventLog.push( "async-two-async-dependencies: before inline" )
    … …  
    648644/* ]]> */
    649645</script>
    650 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async-two-async-dependencies%3A+script' id='async-two-async-dependencies-js' data-wp-strategy='async'></script>
    651 <script id="async-two-async-dependencies-js-after" type="text/javascript">
     646<script src='https://example.com/external.js?script_event_log=async-two-async-dependencies%3A+script' id='async-two-async-dependencies-js' data-wp-strategy='async'></script>
     647<script id="async-two-async-dependencies-js-after">
    652648/* <![CDATA[ */
    653649scriptEventLog.push( "async-two-async-dependencies: after inline" )
    … …  
    670666                                },
    671667                                'expected_markup' => <<<HTML
    672 <script id="async-with-blocking-dependent-js-before" type="text/javascript">
     668<script id="async-with-blocking-dependent-js-before">
    673669/* <![CDATA[ */
    674670scriptEventLog.push( "async-with-blocking-dependent: before inline" )
    … …  
    676672/* ]]> */
    677673</script>
    678 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async-with-blocking-dependent%3A+script' id='async-with-blocking-dependent-js' data-wp-strategy='async'></script>
    679 <script id="async-with-blocking-dependent-js-after" type="text/javascript">
     674<script src='https://example.com/external.js?script_event_log=async-with-blocking-dependent%3A+script' id='async-with-blocking-dependent-js' data-wp-strategy='async'></script>
     675<script id="async-with-blocking-dependent-js-after">
    680676/* <![CDATA[ */
    681677scriptEventLog.push( "async-with-blocking-dependent: after inline" )
    … …  
    683679/* ]]> */
    684680</script>
    685 <script id="blocking-dependent-of-async-js-before" type="text/javascript">
     681<script id="blocking-dependent-of-async-js-before">
    686682/* <![CDATA[ */
    687683scriptEventLog.push( "blocking-dependent-of-async: before inline" )
    … …  
    689685/* ]]> */
    690686</script>
    691 <script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-dependent-of-async%3A+script' id='blocking-dependent-of-async-js'></script>
    692 <script id="blocking-dependent-of-async-js-after" type="text/javascript">
     687<script src='https://example.com/external.js?script_event_log=blocking-dependent-of-async%3A+script' id='blocking-dependent-of-async-js'></script>
     688<script id="blocking-dependent-of-async-js-after">
    693689/* <![CDATA[ */
    694690scriptEventLog.push( "blocking-dependent-of-async: after inline" )
    … …  
    711707                                },
    712708                                'expected_markup' => <<<HTML
    713 <script id="async-with-defer-dependent-js-before" type="text/javascript">
     709<script id="async-with-defer-dependent-js-before">
    714710/* <![CDATA[ */
    715711scriptEventLog.push( "async-with-defer-dependent: before inline" )
    … …  
    717713/* ]]> */
    718714</script>
    719 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async-with-defer-dependent%3A+script' id='async-with-defer-dependent-js' data-wp-strategy='async'></script>
    720 <script id="async-with-defer-dependent-js-after" type="text/javascript">
     715<script src='https://example.com/external.js?script_event_log=async-with-defer-dependent%3A+script' id='async-with-defer-dependent-js' data-wp-strategy='async'></script>
     716<script id="async-with-defer-dependent-js-after">
    721717/* <![CDATA[ */
    722718scriptEventLog.push( "async-with-defer-dependent: after inline" )
    … …  
    724720/* ]]> */
    725721</script>
    726 <script id="defer-dependent-of-async-js-before" type="text/javascript">
     722<script id="defer-dependent-of-async-js-before">
    727723/* <![CDATA[ */
    728724scriptEventLog.push( "defer-dependent-of-async: before inline" )
    … …  
    730726/* ]]> */
    731727</script>
    732 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-async%3A+script' id='defer-dependent-of-async-js' data-wp-strategy='defer'></script>
    733 <script id="defer-dependent-of-async-js-after" type="text/javascript">
     728<script src='https://example.com/external.js?script_event_log=defer-dependent-of-async%3A+script' id='defer-dependent-of-async-js' data-wp-strategy='defer'></script>
     729<script id="defer-dependent-of-async-js-after">
    734730/* <![CDATA[ */
    735731scriptEventLog.push( "defer-dependent-of-async: after inline" )
    … …  
    755751                                },
    756752                                'expected_markup' => <<<HTML
    757 <script id="blocking-bundle-of-none-js-before" type="text/javascript">
     753<script id="blocking-bundle-of-none-js-before">
    758754/* <![CDATA[ */
    759755scriptEventLog.push( "blocking-bundle-of-none: before inline" )
    … …  
    761757/* ]]> */
    762758</script>
    763 <script id="blocking-bundle-of-none-js-after" type="text/javascript">
     759<script id="blocking-bundle-of-none-js-after">
    764760/* <![CDATA[ */
    765761scriptEventLog.push( "blocking-bundle-of-none: after inline" )
    … …  
    767763/* ]]> */
    768764</script>
    769 <script id="defer-dependent-of-blocking-bundle-of-none-js-before" type="text/javascript">
     765<script id="defer-dependent-of-blocking-bundle-of-none-js-before">
    770766/* <![CDATA[ */
    771767scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-none: before inline" )
    … …  
    773769/* ]]> */
    774770</script>
    775 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-bundle-of-none%3A+script' id='defer-dependent-of-blocking-bundle-of-none-js' data-wp-strategy='defer'></script>
    776 <script id="defer-dependent-of-blocking-bundle-of-none-js-after" type="text/javascript">
     771<script src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-bundle-of-none%3A+script' id='defer-dependent-of-blocking-bundle-of-none-js' data-wp-strategy='defer'></script>
     772<script id="defer-dependent-of-blocking-bundle-of-none-js-after">
    777773/* <![CDATA[ */
    778774scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-none: after inline" )
    … …  
    801797                                },
    802798                                'expected_markup' => <<<HTML
    803 <script id="blocking-bundle-member-one-js-before" type="text/javascript">
     799<script id="blocking-bundle-member-one-js-before">
    804800/* <![CDATA[ */
    805801scriptEventLog.push( "blocking-bundle-member-one: before inline" )
    … …  
    807803/* ]]> */
    808804</script>
    809 <script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-bundle-member-one%3A+script' id='blocking-bundle-member-one-js'></script>
    810 <script id="blocking-bundle-member-one-js-after" type="text/javascript">
     805<script src='https://example.com/external.js?script_event_log=blocking-bundle-member-one%3A+script' id='blocking-bundle-member-one-js'></script>
     806<script id="blocking-bundle-member-one-js-after">
    811807/* <![CDATA[ */
    812808scriptEventLog.push( "blocking-bundle-member-one: after inline" )
    … …  
    814810/* ]]> */
    815811</script>
    816 <script id="blocking-bundle-member-two-js-before" type="text/javascript">
     812<script id="blocking-bundle-member-two-js-before">
    817813/* <![CDATA[ */
    818814scriptEventLog.push( "blocking-bundle-member-two: before inline" )
    … …  
    820816/* ]]> */
    821817</script>
    822 <script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-bundle-member-two%3A+script' id='blocking-bundle-member-two-js'></script>
    823 <script id="blocking-bundle-member-two-js-after" type="text/javascript">
     818<script src='https://example.com/external.js?script_event_log=blocking-bundle-member-two%3A+script' id='blocking-bundle-member-two-js'></script>
     819<script id="blocking-bundle-member-two-js-after">
    824820/* <![CDATA[ */
    825821scriptEventLog.push( "blocking-bundle-member-two: after inline" )
    … …  
    827823/* ]]> */
    828824</script>
    829 <script id="defer-dependent-of-blocking-bundle-of-two-js-before" type="text/javascript">
     825<script id="defer-dependent-of-blocking-bundle-of-two-js-before">
    830826/* <![CDATA[ */
    831827scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-two: before inline" )
    … …  
    833829/* ]]> */
    834830</script>
    835 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-bundle-of-two%3A+script' id='defer-dependent-of-blocking-bundle-of-two-js' data-wp-strategy='defer'></script>
    836 <script id="defer-dependent-of-blocking-bundle-of-two-js-after" type="text/javascript">
     831<script src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-bundle-of-two%3A+script' id='defer-dependent-of-blocking-bundle-of-two-js' data-wp-strategy='defer'></script>
     832<script id="defer-dependent-of-blocking-bundle-of-two-js-after">
    837833/* <![CDATA[ */
    838834scriptEventLog.push( "defer-dependent-of-blocking-bundle-of-two: after inline" )
    … …  
    860856                                },
    861857                                'expected_markup' => <<<HTML
    862 <script id="defer-bundle-of-none-js-before" type="text/javascript">
     858<script id="defer-bundle-of-none-js-before">
    863859/* <![CDATA[ */
    864860scriptEventLog.push( "defer-bundle-of-none: before inline" )
    … …  
    866862/* ]]> */
    867863</script>
    868 <script id="defer-bundle-of-none-js-after" type="text/javascript">
     864<script id="defer-bundle-of-none-js-after">
    869865/* <![CDATA[ */
    870866scriptEventLog.push( "defer-bundle-of-none: after inline" )
    … …  
    872868/* ]]> */
    873869</script>
    874 <script id="defer-dependent-of-defer-bundle-of-none-js-before" type="text/javascript">
     870<script id="defer-dependent-of-defer-bundle-of-none-js-before">
    875871/* <![CDATA[ */
    876872scriptEventLog.push( "defer-dependent-of-defer-bundle-of-none: before inline" )
    … …  
    878874/* ]]> */
    879875</script>
    880 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-defer-bundle-of-none%3A+script' id='defer-dependent-of-defer-bundle-of-none-js' data-wp-strategy='defer'></script>
    881 <script id="defer-dependent-of-defer-bundle-of-none-js-after" type="text/javascript">
     876<script src='https://example.com/external.js?script_event_log=defer-dependent-of-defer-bundle-of-none%3A+script' id='defer-dependent-of-defer-bundle-of-none-js' data-wp-strategy='defer'></script>
     877<script id="defer-dependent-of-defer-bundle-of-none-js-after">
    882878/* <![CDATA[ */
    883879scriptEventLog.push( "defer-dependent-of-defer-bundle-of-none: after inline" )
    … …  
    903899                                },
    904900                                'expected_markup' => <<<HTML
    905 <script id="blocking-dependency-with-defer-following-dependency-js-before" type="text/javascript">
     901<script id="blocking-dependency-with-defer-following-dependency-js-before">
    906902/* <![CDATA[ */
    907903scriptEventLog.push( "blocking-dependency-with-defer-following-dependency: before inline" )
    … …  
    909905/* ]]> */
    910906</script>
    911 <script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-dependency-with-defer-following-dependency%3A+script' id='blocking-dependency-with-defer-following-dependency-js'></script>
    912 <script id="blocking-dependency-with-defer-following-dependency-js-after" type="text/javascript">
     907<script src='https://example.com/external.js?script_event_log=blocking-dependency-with-defer-following-dependency%3A+script' id='blocking-dependency-with-defer-following-dependency-js'></script>
     908<script id="blocking-dependency-with-defer-following-dependency-js-after">
    913909/* <![CDATA[ */
    914910scriptEventLog.push( "blocking-dependency-with-defer-following-dependency: after inline" )
    … …  
    916912/* ]]> */
    917913</script>
    918 <script id="defer-dependency-with-blocking-preceding-dependency-js-before" type="text/javascript">
     914<script id="defer-dependency-with-blocking-preceding-dependency-js-before">
    919915/* <![CDATA[ */
    920916scriptEventLog.push( "defer-dependency-with-blocking-preceding-dependency: before inline" )
    … …  
    922918/* ]]> */
    923919</script>
    924 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependency-with-blocking-preceding-dependency%3A+script' id='defer-dependency-with-blocking-preceding-dependency-js' data-wp-strategy='defer'></script>
    925 <script id="defer-dependency-with-blocking-preceding-dependency-js-after" type="text/javascript">
     920<script src='https://example.com/external.js?script_event_log=defer-dependency-with-blocking-preceding-dependency%3A+script' id='defer-dependency-with-blocking-preceding-dependency-js' data-wp-strategy='defer'></script>
     921<script id="defer-dependency-with-blocking-preceding-dependency-js-after">
    926922/* <![CDATA[ */
    927923scriptEventLog.push( "defer-dependency-with-blocking-preceding-dependency: after inline" )
    … …  
    929925/* ]]> */
    930926</script>
    931 <script id="defer-dependent-of-blocking-and-defer-dependencies-js-before" type="text/javascript">
     927<script id="defer-dependent-of-blocking-and-defer-dependencies-js-before">
    932928/* <![CDATA[ */
    933929scriptEventLog.push( "defer-dependent-of-blocking-and-defer-dependencies: before inline" )
    … …  
    935931/* ]]> */
    936932</script>
    937 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-and-defer-dependencies%3A+script' id='defer-dependent-of-blocking-and-defer-dependencies-js' data-wp-strategy='defer'></script>
    938 <script id="defer-dependent-of-blocking-and-defer-dependencies-js-after" type="text/javascript">
     933<script src='https://example.com/external.js?script_event_log=defer-dependent-of-blocking-and-defer-dependencies%3A+script' id='defer-dependent-of-blocking-and-defer-dependencies-js' data-wp-strategy='defer'></script>
     934<script id="defer-dependent-of-blocking-and-defer-dependencies-js-after">
    939935/* <![CDATA[ */
    940936scriptEventLog.push( "defer-dependent-of-blocking-and-defer-dependencies: after inline" )
    … …  
    960956                                },
    961957                                'expected_markup' => <<<HTML
    962 <script id="defer-dependency-with-blocking-following-dependency-js-before" type="text/javascript">
     958<script id="defer-dependency-with-blocking-following-dependency-js-before">
    963959/* <![CDATA[ */
    964960scriptEventLog.push( "defer-dependency-with-blocking-following-dependency: before inline" )
    … …  
    966962/* ]]> */
    967963</script>
    968 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependency-with-blocking-following-dependency%3A+script' id='defer-dependency-with-blocking-following-dependency-js' data-wp-strategy='defer'></script>
    969 <script id="defer-dependency-with-blocking-following-dependency-js-after" type="text/javascript">
     964<script src='https://example.com/external.js?script_event_log=defer-dependency-with-blocking-following-dependency%3A+script' id='defer-dependency-with-blocking-following-dependency-js' data-wp-strategy='defer'></script>
     965<script id="defer-dependency-with-blocking-following-dependency-js-after">
    970966/* <![CDATA[ */
    971967scriptEventLog.push( "defer-dependency-with-blocking-following-dependency: after inline" )
    … …  
    973969/* ]]> */
    974970</script>
    975 <script id="blocking-dependency-with-defer-preceding-dependency-js-before" type="text/javascript">
     971<script id="blocking-dependency-with-defer-preceding-dependency-js-before">
    976972/* <![CDATA[ */
    977973scriptEventLog.push( "blocking-dependency-with-defer-preceding-dependency: before inline" )
    … …  
    979975/* ]]> */
    980976</script>
    981 <script type='text/javascript' src='https://example.com/external.js?script_event_log=blocking-dependency-with-defer-preceding-dependency%3A+script' id='blocking-dependency-with-defer-preceding-dependency-js'></script>
    982 <script id="blocking-dependency-with-defer-preceding-dependency-js-after" type="text/javascript">
     977<script src='https://example.com/external.js?script_event_log=blocking-dependency-with-defer-preceding-dependency%3A+script' id='blocking-dependency-with-defer-preceding-dependency-js'></script>
     978<script id="blocking-dependency-with-defer-preceding-dependency-js-after">
    983979/* <![CDATA[ */
    984980scriptEventLog.push( "blocking-dependency-with-defer-preceding-dependency: after inline" )
    … …  
    986982/* ]]> */
    987983</script>
    988 <script id="defer-dependent-of-defer-and-blocking-dependencies-js-before" type="text/javascript">
     984<script id="defer-dependent-of-defer-and-blocking-dependencies-js-before">
    989985/* <![CDATA[ */
    990986scriptEventLog.push( "defer-dependent-of-defer-and-blocking-dependencies: before inline" )
    … …  
    992988/* ]]> */
    993989</script>
    994 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-defer-and-blocking-dependencies%3A+script' id='defer-dependent-of-defer-and-blocking-dependencies-js' data-wp-strategy='defer'></script>
    995 <script id="defer-dependent-of-defer-and-blocking-dependencies-js-after" type="text/javascript">
     990<script src='https://example.com/external.js?script_event_log=defer-dependent-of-defer-and-blocking-dependencies%3A+script' id='defer-dependent-of-defer-and-blocking-dependencies-js' data-wp-strategy='defer'></script>
     991<script id="defer-dependent-of-defer-and-blocking-dependencies-js-after">
    996992/* <![CDATA[ */
    997993scriptEventLog.push( "defer-dependent-of-defer-and-blocking-dependencies: after inline" )
    … …  
    10141010                                },
    10151011                                'expected_markup' => <<<HTML
    1016 <script id="defer-with-async-dependent-js-before" type="text/javascript">
     1012<script id="defer-with-async-dependent-js-before">
    10171013/* <![CDATA[ */
    10181014scriptEventLog.push( "defer-with-async-dependent: before inline" )
    … …  
    10201016/* ]]> */
    10211017</script>
    1022 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-with-async-dependent%3A+script' id='defer-with-async-dependent-js' data-wp-strategy='defer'></script>
    1023 <script id="defer-with-async-dependent-js-after" type="text/javascript">
     1018<script src='https://example.com/external.js?script_event_log=defer-with-async-dependent%3A+script' id='defer-with-async-dependent-js' data-wp-strategy='defer'></script>
     1019<script id="defer-with-async-dependent-js-after">
    10241020/* <![CDATA[ */
    10251021scriptEventLog.push( "defer-with-async-dependent: after inline" )
    … …  
    10271023/* ]]> */
    10281024</script>
    1029 <script id="async-dependent-of-defer-js-before" type="text/javascript">
     1025<script id="async-dependent-of-defer-js-before">
    10301026/* <![CDATA[ */
    10311027scriptEventLog.push( "async-dependent-of-defer: before inline" )
    … …  
    10331029/* ]]> */
    10341030</script>
    1035 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async-dependent-of-defer%3A+script' id='async-dependent-of-defer-js' data-wp-strategy='async'></script>
    1036 <script id="async-dependent-of-defer-js-after" type="text/javascript">
     1031<script src='https://example.com/external.js?script_event_log=async-dependent-of-defer%3A+script' id='async-dependent-of-defer-js' data-wp-strategy='async'></script>
     1032<script id="async-dependent-of-defer-js-after">
    10371033/* <![CDATA[ */
    10381034scriptEventLog.push( "async-dependent-of-defer: after inline" )
    … …  
    10511047                                },
    10521048                                'expected_markup' => <<<HTML
    1053 <script id="defer-with-before-inline-js-before" type="text/javascript">
     1049<script id="defer-with-before-inline-js-before">
    10541050/* <![CDATA[ */
    10551051scriptEventLog.push( "defer-with-before-inline: before inline" )
    … …  
    10571053/* ]]> */
    10581054</script>
    1059 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-with-before-inline%3A+script' id='defer-with-before-inline-js' defer='defer' data-wp-strategy='defer'></script>
     1055<script src='https://example.com/external.js?script_event_log=defer-with-before-inline%3A+script' id='defer-with-before-inline-js' defer='defer' data-wp-strategy='defer'></script>
    10601056HTML
    10611057                                ,
    … …  
    10691065                                },
    10701066                                'expected_markup' => <<<HTML
    1071 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-with-after-inline%3A+script' id='defer-with-after-inline-js' data-wp-strategy='defer'></script>
    1072 <script id="defer-with-after-inline-js-after" type="text/javascript">
     1067<script src='https://example.com/external.js?script_event_log=defer-with-after-inline%3A+script' id='defer-with-after-inline-js' data-wp-strategy='defer'></script>
     1068<script id="defer-with-after-inline-js-after">
    10731069/* <![CDATA[ */
    10741070scriptEventLog.push( "defer-with-after-inline: after inline" )
    … …  
    10901086                                },
    10911087                                'expected_markup' => <<<HTML
    1092 <script type='text/javascript' src='http://$wp_tests_domain/wp-includes/js/jquery/jquery.js' id='jquery-core-js' defer='defer' data-wp-strategy='defer'></script>
    1093 <script type='text/javascript' src='http://$wp_tests_domain/wp-includes/js/jquery/jquery-migrate.js' id='jquery-migrate-js' defer='defer' data-wp-strategy='defer'></script>
    1094 <script type='text/javascript' src='https://example.com/theme-functions.js' id='theme-functions-js' defer='defer' data-wp-strategy='defer'></script>
     1088<script src='http://$wp_tests_domain/wp-includes/js/jquery/jquery.js' id='jquery-core-js' defer='defer' data-wp-strategy='defer'></script>
     1089<script src='http://$wp_tests_domain/wp-includes/js/jquery/jquery-migrate.js' id='jquery-migrate-js' defer='defer' data-wp-strategy='defer'></script>
     1090<script src='https://example.com/theme-functions.js' id='theme-functions-js' defer='defer' data-wp-strategy='defer'></script>
    10951091HTML
    10961092                                ,
    … …  
    11151111                                },
    11161112                                'expected_markup' => <<<HTML
    1117 <script type='text/javascript' src='https://example.com/external.js?script_event_log=inner-bundle-member-one%3A+script' id='inner-bundle-member-one-js' data-wp-strategy='defer'></script>
    1118 <script type='text/javascript' src='https://example.com/external.js?script_event_log=inner-bundle-member-two%3A+script' id='inner-bundle-member-two-js' data-wp-strategy='defer'></script>
    1119 <script type='text/javascript' src='https://example.com/external.js?script_event_log=outer-bundle-leaf-member%3A+script' id='outer-bundle-leaf-member-js'></script>
    1120 <script id="defer-dependent-of-nested-aliases-js-before" type="text/javascript">
     1113<script src='https://example.com/external.js?script_event_log=inner-bundle-member-one%3A+script' id='inner-bundle-member-one-js' data-wp-strategy='defer'></script>
     1114<script src='https://example.com/external.js?script_event_log=inner-bundle-member-two%3A+script' id='inner-bundle-member-two-js' data-wp-strategy='defer'></script>
     1115<script src='https://example.com/external.js?script_event_log=outer-bundle-leaf-member%3A+script' id='outer-bundle-leaf-member-js'></script>
     1116<script id="defer-dependent-of-nested-aliases-js-before">
    11211117/* <![CDATA[ */
    11221118scriptEventLog.push( "defer-dependent-of-nested-aliases: before inline" )
    … …  
    11241120/* ]]> */
    11251121</script>
    1126 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-nested-aliases%3A+script' id='defer-dependent-of-nested-aliases-js' data-wp-strategy='defer'></script>
    1127 <script id="defer-dependent-of-nested-aliases-js-after" type="text/javascript">
     1122<script src='https://example.com/external.js?script_event_log=defer-dependent-of-nested-aliases%3A+script' id='defer-dependent-of-nested-aliases-js' data-wp-strategy='defer'></script>
     1123<script id="defer-dependent-of-nested-aliases-js-after">
    11281124/* <![CDATA[ */
    11291125scriptEventLog.push( "defer-dependent-of-nested-aliases: after inline" )
    … …  
    11481144                                },
    11491145                                'expected_markup' => <<<HTML
    1150 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async1%3A+script' id='async1-js' defer='defer' data-wp-strategy='async'></script>
    1151 <script type='text/javascript' src='https://example.com/external.js?script_event_log=async2%3A+script' id='async2-js' defer='defer' data-wp-strategy='async'></script>
    1152 <script type='text/javascript' src='https://example.com/external.js?script_event_log=defer-dependent-of-async-aliases%3A+script' id='defer-dependent-of-async-aliases-js' defer='defer' data-wp-strategy='defer'></script>
     1146<script src='https://example.com/external.js?script_event_log=async1%3A+script' id='async1-js' defer='defer' data-wp-strategy='async'></script>
     1147<script src='https://example.com/external.js?script_event_log=async2%3A+script' id='async2-js' defer='defer' data-wp-strategy='async'></script>
     1148<script src='https://example.com/external.js?script_event_log=defer-dependent-of-async-aliases%3A+script' id='defer-dependent-of-async-aliases-js' defer='defer' data-wp-strategy='defer'></script>
    11531149HTML
    11541150                                ,
    … …  
    12811277                // Note: All of these scripts have fetchpriority=high because the leaf dependent script has that fetch priority.
    12821278                $output    = get_echo( 'wp_print_scripts' );
    1283                 $expected  = "<script type='text/javascript' src='/main-script-d4.js'        id='main-script-d4-js'        defer='defer' data-wp-strategy='defer' fetchpriority='high' data-wp-fetchpriority='auto'></script>\n";
    1284                 $expected .= "<script type='text/javascript' src='/dependent-script-d4-1.js' id='dependent-script-d4-1-js' defer='defer' data-wp-strategy='defer' fetchpriority='high' data-wp-fetchpriority='auto'></script>\n";
    1285                 $expected .= "<script type='text/javascript' src='/dependent-script-d4-2.js' id='dependent-script-d4-2-js' defer='defer' data-wp-strategy='async' fetchpriority='high' data-wp-fetchpriority='low'></script>\n";
    1286                 $expected .= "<script type='text/javascript' src='/dependent-script-d4-3.js' id='dependent-script-d4-3-js' defer='defer' data-wp-strategy='defer' fetchpriority='high'></script>\n";
     1279                $expected  = "<script src='/main-script-d4.js'        id='main-script-d4-js'        defer='defer' data-wp-strategy='defer' fetchpriority='high' data-wp-fetchpriority='auto'></script>\n";
     1280                $expected .= "<script src='/dependent-script-d4-1.js' id='dependent-script-d4-1-js' defer='defer' data-wp-strategy='defer' fetchpriority='high' data-wp-fetchpriority='auto'></script>\n";
     1281                $expected .= "<script src='/dependent-script-d4-2.js' id='dependent-script-d4-2-js' defer='defer' data-wp-strategy='async' fetchpriority='high' data-wp-fetchpriority='low'></script>\n";
     1282                $expected .= "<script src='/dependent-script-d4-3.js' id='dependent-script-d4-3-js' defer='defer' data-wp-strategy='defer' fetchpriority='high'></script>\n";
    12871283
    12881284                $this->assertEqualHTML( $expected, $output, '<body>', 'Scripts registered as defer but that have dependents that are async are expected to have said dependents deferred.' );
    … …  
    14001396                        'enqueue_bajo' => array(
    14011397                                'enqueues' => array( 'bajo' ),
    1402                                 'expected' => '<script fetchpriority="low" id="bajo-js" src="/bajo.js" type="text/javascript"></script>',
     1398                                'expected' => '<script fetchpriority="low" id="bajo-js" src="/bajo.js"></script>',
    14031399                        ),
    14041400                        'enqueue_auto' => array(
    14051401                                'enqueues' => array( 'auto' ),
    14061402                                'expected' => '
    1407                                         <script type="text/javascript" src="/bajo.js" id="bajo-js" data-wp-fetchpriority="low"></script>
    1408                                         <script type="text/javascript" src="/auto.js" id="auto-js"></script>
     1403                                        <script src="/bajo.js" id="bajo-js" data-wp-fetchpriority="low"></script>
     1404                                        <script src="/auto.js" id="auto-js"></script>
    14091405                                ',
    14101406                        ),
    … …  
    14121408                                'enqueues' => array( 'alto' ),
    14131409                                'expected' => '
    1414                                         <script type="text/javascript" src="/bajo.js" id="bajo-js" fetchpriority="high" data-wp-fetchpriority="low"></script>
    1415                                         <script type="text/javascript" src="/auto.js" id="auto-js" fetchpriority="high" data-wp-fetchpriority="auto"></script>
    1416                                         <script type="text/javascript" src="/alto.js" id="alto-js" fetchpriority="high"></script>
     1410                                        <script src="/bajo.js" id="bajo-js" fetchpriority="high" data-wp-fetchpriority="low"></script>
     1411                                        <script src="/auto.js" id="auto-js" fetchpriority="high" data-wp-fetchpriority="auto"></script>
     1412                                        <script src="/alto.js" id="alto-js" fetchpriority="high"></script>
    14171413                                ',
    14181414                        ),
    … …  
    14701466                $actual   = get_echo( 'wp_print_scripts' );
    14711467                $expected = '
    1472                         <script type="text/javascript" src="/z.js" id="z-js" fetchpriority="high" data-wp-fetchpriority="auto"></script>
    1473                         <script type="text/javascript" src="/d.js" id="d-js" fetchpriority="high"></script>
    1474                         <script type="text/javascript" src="/e.js" id="e-js"></script>
    1475                         <script type="text/javascript" src="/c.js" id="c-js"></script>
    1476                         <script type="text/javascript" src="/b.js" id="b-js"></script>
    1477                         <script type="text/javascript" src="/a.js" id="a-js" fetchpriority="low"></script>
    1478                         <script type="text/javascript" src="/y.js" id="y-js" fetchpriority="high" data-wp-fetchpriority="auto"></script>
    1479                         <script type="text/javascript" src="/x.js" id="x-js" fetchpriority="high"></script>
     1468                        <script src="/z.js" id="z-js" fetchpriority="high" data-wp-fetchpriority="auto"></script>
     1469                        <script src="/d.js" id="d-js" fetchpriority="high"></script>
     1470                        <script src="/e.js" id="e-js"></script>
     1471                        <script src="/c.js" id="c-js"></script>
     1472                        <script src="/b.js" id="b-js"></script>
     1473                        <script src="/a.js" id="a-js" fetchpriority="low"></script>
     1474                        <script src="/y.js" id="y-js" fetchpriority="high" data-wp-fetchpriority="auto"></script>
     1475                        <script src="/x.js" id="x-js" fetchpriority="high"></script>
    14801476                ';
    14811477                $this->assertEqualHTML( $expected, $actual, '<body>', "Snapshot:\n$actual" );
    … …  
    15341530                $actual = $this->normalize_markup_for_snapshot( get_echo( array( $wp_scripts, 'print_scripts' ) ) );
    15351531                $this->assertEqualHTML(
    1536                         '<script type="text/javascript" src="/wp-includes/js/comment-reply.js" id="comment-reply-js" async="async" data-wp-strategy="async" fetchpriority="low"></script>',
     1532                        '<script src="/wp-includes/js/comment-reply.js" id="comment-reply-js" async="async" data-wp-strategy="async" fetchpriority="low"></script>',
    15371533                        $actual,
    15381534                        '<body>',
    … …  
    15711567                $this->assertEqualHTML(
    15721568                        sprintf(
    1573                                 '<script type="text/javascript" src="%s" id="comment-reply-js" async="async" data-wp-strategy="async" fetchpriority="low"></script>',
     1569                                '<script src="%s" id="comment-reply-js" async="async" data-wp-strategy="async" fetchpriority="low"></script>',
    15741570                                includes_url( 'js/comment-reply.js' )
    15751571                        ),
    … …  
    16111607                wp_enqueue_script( 'dependent-script-d4-3', '/dependent-script-d4-3.js', array( 'dependent-script-d4-2' ), null, array( 'strategy' => 'defer' ) );
    16121608                $output   = get_echo( 'wp_print_scripts' );
    1613                 $expected = str_replace( "'", '"', "<script type='text/javascript' src='/main-script-d4.js' id='main-script-d4-js' data-wp-strategy='defer'></script>\n" );
     1609                $expected = str_replace( "'", '"', "<script src='/main-script-d4.js' id='main-script-d4-js' data-wp-strategy='defer'></script>\n" );
    16141610                $this->assertStringContainsString( $expected, $output, 'Scripts registered as defer but that have all dependents with no strategy, should become blocking (no strategy).' );
    16151611        }
    … …  
    16281624                wp_enqueue_script( 'main-script-b1', '/main-script-b1.js', array(), null );
    16291625                $output   = get_echo( 'wp_print_scripts' );
    1630                 $expected = "<script type='text/javascript' src='/main-script-b1.js' id='main-script-b1-js'></script>\n";
     1626                $expected = "<script src='/main-script-b1.js' id='main-script-b1-js'></script>\n";
    16311627                $this->assertEqualHTML( $expected, $output, '<body>', 'Scripts registered with a "blocking" strategy, and who have no dependencies, should have no loading strategy attributes printed.' );
    16321628
    … …  
    16341630                wp_enqueue_script( 'main-script-b2', '/main-script-b2.js', array(), null, array() );
    16351631                $output   = get_echo( 'wp_print_scripts' );
    1636                 $expected = "<script type='text/javascript' src='/main-script-b2.js' id='main-script-b2-js'></script>\n";
     1632                $expected = "<script src='/main-script-b2.js' id='main-script-b2-js'></script>\n";
    16371633                $this->assertEqualHTML( $expected, $output, '<body>', 'Scripts registered with no strategy assigned, and who have no dependencies, should have no loading strategy attributes printed.' );
    16381634        }
    … …  
    16911687                $actual_footer = get_echo( 'wp_print_scripts' );
    16921688
    1693                 $expected_header  = "<script type='text/javascript' src='/header-old.js' id='header-old-js'></script>\n";
    1694                 $expected_header .= "<script type='text/javascript' src='/header-new.js' id='header-new-js'></script>\n";
    1695                 $expected_header .= "<script type='text/javascript' src='/enqueue-header-old.js' id='enqueue-header-old-js'></script>\n";
    1696                 $expected_header .= "<script type='text/javascript' src='/enqueue-header-new.js' id='enqueue-header-new-js'></script>\n";
     1689                $expected_header  = "<script src='/header-old.js' id='header-old-js'></script>\n";
     1690                $expected_header .= "<script src='/header-new.js' id='header-new-js'></script>\n";
     1691                $expected_header .= "<script src='/enqueue-header-old.js' id='enqueue-header-old-js'></script>\n";
     1692                $expected_header .= "<script src='/enqueue-header-new.js' id='enqueue-header-new-js'></script>\n";
    16971693
    16981694                $this->assertEqualHTML( $expected_header, $actual_header, '<body>', 'Scripts registered/enqueued using the older $in_footer parameter or the newer $args parameter should have the same outcome.' );
    … …  
    17181714                $actual_footer = get_echo( 'wp_print_scripts' );
    17191715
    1720                 $expected_footer  = "<script type='text/javascript' src='/footer-old.js' id='footer-old-js'></script>\n";
    1721                 $expected_footer .= "<script type='text/javascript' src='/footer-new.js' id='footer-new-js'></script>\n";
    1722                 $expected_footer .= "<script type='text/javascript' src='/enqueue-footer-old.js' id='enqueue-footer-old-js'></script>\n";
    1723                 $expected_footer .= "<script type='text/javascript' src='/enqueue-footer-new.js' id='enqueue-footer-new-js'></script>\n";
     1716                $expected_footer  = "<script src='/footer-old.js' id='footer-old-js'></script>\n";
     1717                $expected_footer .= "<script src='/footer-new.js' id='footer-new-js'></script>\n";
     1718                $expected_footer .= "<script src='/enqueue-footer-old.js' id='enqueue-footer-old-js'></script>\n";
     1719                $expected_footer .= "<script src='/enqueue-footer-new.js' id='enqueue-footer-new-js'></script>\n";
    17241720
    17251721                $this->assertEmpty( $actual_header, 'Expected header to be empty since all scripts targeted footer.' );
    … …  
    18441840
    18451841                $this->assertEqualHTML(
    1846                         "<script type='text/javascript' src='/defaults.js' id='invalid-strategy-js'></script>\n",
     1842                        "<script src='/defaults.js' id='invalid-strategy-js'></script>\n",
    18471843                        get_echo( 'wp_print_scripts' )
    18481844                );
    … …  
    18691865
    18701866                $this->assertEqualHTML(
    1871                         "<script type='text/javascript' src='/defaults.js' id='invalid-strategy-js'></script>\n",
     1867                        "<script src='/defaults.js' id='invalid-strategy-js'></script>\n",
    18721868                        get_echo( 'wp_print_scripts' )
    18731869                );
    … …  
    18901886
    18911887                $this->assertEqualHTML(
    1892                         "<script type='text/javascript' src='/defaults.js' id='invalid-strategy-js'></script>\n",
     1888                        "<script src='/defaults.js' id='invalid-strategy-js'></script>\n",
    18931889                        get_echo( 'wp_print_scripts' )
    18941890                );
    … …  
    19201916                $print_scripts = get_echo( '_print_scripts' );
    19211917
    1922                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one-concat-dep,two-concat-dep,three-concat-dep&amp;ver={$wp_version}'></script>\n";
    1923                 $expected .= "<script type='text/javascript' src='/main-script.js' id='main-defer-script-js' defer='defer' data-wp-strategy='defer'></script>\n";
     1918                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one-concat-dep,two-concat-dep,three-concat-dep&amp;ver={$wp_version}'></script>\n";
     1919                $expected .= "<script src='/main-script.js' id='main-defer-script-js' defer='defer' data-wp-strategy='defer'></script>\n";
    19241920
    19251921                $this->assertEqualHTML( $expected, $print_scripts, '<body>', 'Scripts are being incorrectly concatenated when a main script is registered with a "defer" loading strategy. Deferred scripts should not be part of the script concat loading query.' );
    … …  
    19511947                $print_scripts = get_echo( '_print_scripts' );
    19521948
    1953                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one-concat-dep-1,two-concat-dep-1,three-concat-dep-1&amp;ver={$wp_version}'></script>\n";
    1954                 $expected .= "<script type='text/javascript' src='/main-script.js' id='main-async-script-1-js' async='async' data-wp-strategy='async'></script>\n";
     1949                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one-concat-dep-1,two-concat-dep-1,three-concat-dep-1&amp;ver={$wp_version}'></script>\n";
     1950                $expected .= "<script src='/main-script.js' id='main-async-script-1-js' async='async' data-wp-strategy='async'></script>\n";
    19551951
    19561952                $this->assertEqualHTML( $expected, $print_scripts, '<body>', 'Scripts are being incorrectly concatenated when a main script is registered with an "async" loading strategy. Async scripts should not be part of the script concat loading query.' );
    … …  
    19861982                $print_scripts = get_echo( '_print_scripts' );
    19871983
    1988                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one-concat-dep-2,two-concat-dep-2,three-concat-dep-2,four-concat-dep-2,five-concat-dep-2,six-concat-dep-2&amp;ver={$wp_version}'></script>\n";
    1989                 $expected .= "<script type='text/javascript' src='/main-script.js' id='deferred-script-2-js' defer='defer' data-wp-strategy='defer'></script>\n";
     1984                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one-concat-dep-2,two-concat-dep-2,three-concat-dep-2,four-concat-dep-2,five-concat-dep-2,six-concat-dep-2&amp;ver={$wp_version}'></script>\n";
     1985                $expected .= "<script src='/main-script.js' id='deferred-script-2-js' defer='defer' data-wp-strategy='defer'></script>\n";
    19901986
    19911987                $this->assertEqualHTML( $expected, $print_scripts, '<body>', 'Scripts are being incorrectly concatenated when a main script is registered as deferred after other blocking scripts are registered. Deferred scripts should not be part of the script concat loader query string. ' );
    … …  
    20262022                // Try with an HTTP reference.
    20272023                wp_enqueue_script( 'jquery-http', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' );
    2028                 $expected .= "<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-http-js'></script>\n";
     2024                $expected .= "<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-http-js'></script>\n";
    20292025
    20302026                // Try with an HTTPS reference.
    20312027                wp_enqueue_script( 'jquery-https', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' );
    2032                 $expected .= "<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-https-js'></script>\n";
     2028                $expected .= "<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-https-js'></script>\n";
    20332029
    20342030                // Try with an automatic protocol reference (//).
    20352031                wp_enqueue_script( 'jquery-doubleslash', '//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' );
    2036                 $expected .= "<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-doubleslash-js'></script>\n";
     2032                $expected .= "<script src='//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-doubleslash-js'></script>\n";
    20372033
    20382034                // Try with a local resource and an automatic protocol reference (//).
    20392035                $url = '//my_plugin/script.js';
    20402036                wp_enqueue_script( 'plugin-script', $url );
    2041                 $expected .= "<script type='text/javascript' src='$url?ver={$wp_version}' id='plugin-script-js'></script>\n";
     2037                $expected .= "<script src='$url?ver={$wp_version}' id='plugin-script-js'></script>\n";
    20422038
    20432039                // Try with a bad protocol.
    20442040                wp_enqueue_script( 'jquery-ftp', 'ftp://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' );
    2045                 $expected .= "<script type='text/javascript' src='{$wp_scripts->base_url}ftp://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-ftp-js'></script>\n";
     2041                $expected .= "<script src='{$wp_scripts->base_url}ftp://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js?ver={$wp_version}' id='jquery-ftp-js'></script>\n";
    20462042
    20472043                // Go!
    … …  
    20712067                $print_scripts = get_echo( '_print_scripts' );
    20722068
    2073                 $expected = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one,two,three&amp;ver={$wp_version}'></script>\n";
     2069                $expected = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one,two,three&amp;ver={$wp_version}'></script>\n";
    20742070
    20752071                $this->assertSame( $expected, $print_scripts );
    … …  
    20852081                wp_enqueue_script( 'test-only-data', 'example.com', array(), null );
    20862082                wp_script_add_data( 'test-only-data', 'data', 'testing' );
    2087                 $expected  = "<script type='text/javascript' id='test-only-data-js-extra'>\n/* <![CDATA[ */\ntesting\n//# sourceURL=test-only-data-js-extra\n/* ]]> */\n</script>\n";
    2088                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-only-data-js'></script>\n";
     2083                $expected  = "<script id='test-only-data-js-extra'>\n/* <![CDATA[ */\ntesting\n//# sourceURL=test-only-data-js-extra\n/* ]]> */\n</script>\n";
     2084                $expected .= "<script src='http://example.com' id='test-only-data-js'></script>\n";
    20892085
    20902086                // Go!
    … …  
    21212117                wp_enqueue_script( 'test-invalid', 'example.com', array(), null );
    21222118                wp_script_add_data( 'test-invalid', 'invalid', 'testing' );
    2123                 $expected = "<script type='text/javascript' src='http://example.com' id='test-invalid-js'></script>\n";
     2119                $expected = "<script src='http://example.com' id='test-invalid-js'></script>\n";
    21242120
    21252121                // Go!
    … …  
    21442140         */
    21452141        public function test_wp_register_script_with_handle_without_source() {
    2146                 $expected  = "<script type='text/javascript' src='http://example.com?ver=1' id='handle-one-js'></script>\n";
    2147                 $expected .= "<script type='text/javascript' src='http://example.com?ver=2' id='handle-two-js'></script>\n";
     2142                $expected  = "<script src='http://example.com?ver=1' id='handle-one-js'></script>\n";
     2143                $expected .= "<script src='http://example.com?ver=2' id='handle-two-js'></script>\n";
    21482144
    21492145                wp_register_script( 'handle-one', 'http://example.com', array(), 1 );
    … …  
    22372233                $footer = get_echo( 'wp_print_footer_scripts' );
    22382234
    2239                 $expected_header  = "<script type='text/javascript' src='/child-footer.js' id='child-footer-js'></script>\n";
    2240                 $expected_header .= "<script type='text/javascript' src='/child-head.js' id='child-head-js'></script>\n";
    2241                 $expected_footer  = "<script type='text/javascript' src='/parent.js' id='parent-js'></script>\n";
     2235                $expected_header  = "<script src='/child-footer.js' id='child-footer-js'></script>\n";
     2236                $expected_header .= "<script src='/child-head.js' id='child-head-js'></script>\n";
     2237                $expected_footer  = "<script src='/parent.js' id='parent-js'></script>\n";
    22422238
    22432239                $this->assertEqualHTML( $expected_header, $header, '<body>', 'Expected same header markup.' );
    … …  
    22582254                $footer = get_echo( 'wp_print_footer_scripts' );
    22592255
    2260                 $expected_header  = "<script type='text/javascript' src='/child-head.js' id='child-head-js'></script>\n";
    2261                 $expected_footer  = "<script type='text/javascript' src='/child-footer.js' id='child-footer-js'></script>\n";
    2262                 $expected_footer .= "<script type='text/javascript' src='/parent.js' id='parent-js'></script>\n";
     2256                $expected_header  = "<script src='/child-head.js' id='child-head-js'></script>\n";
     2257                $expected_footer  = "<script src='/child-footer.js' id='child-footer-js'></script>\n";
     2258                $expected_footer .= "<script src='/parent.js' id='parent-js'></script>\n";
    22632259
    22642260                $this->assertEqualHTML( $expected_header, $header, '<body>', 'Expected same header markup.' );
    … …  
    22842280                $footer = get_echo( 'wp_print_footer_scripts' );
    22852281
    2286                 $expected_header  = "<script type='text/javascript' src='/child-head.js' id='child-head-js'></script>\n";
    2287                 $expected_header .= "<script type='text/javascript' src='/grandchild-head.js' id='grandchild-head-js'></script>\n";
    2288                 $expected_header .= "<script type='text/javascript' src='/child2-head.js' id='child2-head-js'></script>\n";
    2289                 $expected_header .= "<script type='text/javascript' src='/parent-header.js' id='parent-header-js'></script>\n";
    2290 
    2291                 $expected_footer  = "<script type='text/javascript' src='/child-footer.js' id='child-footer-js'></script>\n";
    2292                 $expected_footer .= "<script type='text/javascript' src='/child2-footer.js' id='child2-footer-js'></script>\n";
    2293                 $expected_footer .= "<script type='text/javascript' src='/parent-footer.js' id='parent-footer-js'></script>\n";
     2282                $expected_header  = "<script src='/child-head.js' id='child-head-js'></script>\n";
     2283                $expected_header .= "<script src='/grandchild-head.js' id='grandchild-head-js'></script>\n";
     2284                $expected_header .= "<script src='/child2-head.js' id='child2-head-js'></script>\n";
     2285                $expected_header .= "<script src='/parent-header.js' id='parent-header-js'></script>\n";
     2286
     2287                $expected_footer  = "<script src='/child-footer.js' id='child-footer-js'></script>\n";
     2288                $expected_footer .= "<script src='/child2-footer.js' id='child2-footer-js'></script>\n";
     2289                $expected_footer .= "<script src='/parent-footer.js' id='parent-footer-js'></script>\n";
    22942290
    22952291                $this->assertEqualHTML( $expected_header, $header, '<body>', 'Expected same header markup.' );
    … …  
    23222318
    23232319                $expected  = <<<HTML
    2324 <script type='text/javascript' id='test-example-js-before'>
     2320<script id='test-example-js-before'>
    23252321/* <![CDATA[ */
    23262322console.log("before");
    … …  
    23292325</script>
    23302326HTML;
    2331                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
     2327                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
    23322328
    23332329                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    23412337                wp_add_inline_script( 'test-example', 'console.log("after");' );
    23422338
    2343                 $expected  = "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
     2339                $expected  = "<script src='http://example.com' id='test-example-js'></script>\n";
    23442340                $expected .= <<<HTML
    2345 <script type='text/javascript' id='test-example-js-after'>
     2341<script id='test-example-js-after'>
    23462342/* <![CDATA[ */
    23472343console.log("after");
    … …  
    23622358                wp_add_inline_script( 'test-example', 'console.log("after");' );
    23632359
    2364                 $expected  = "<script type='text/javascript' id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
    2365                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
    2366                 $expected .= "<script type='text/javascript' id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
     2360                $expected  = "<script id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
     2361                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
     2362                $expected .= "<script id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
    23672363
    23682364                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    23772373                wp_add_inline_script( 'test-example', 'console.log("before");', 'before' );
    23782374
    2379                 $expected = "<script type='text/javascript' id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
     2375                $expected = "<script id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
    23802376
    23812377                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    23902386                wp_add_inline_script( 'test-example', 'console.log("after");' );
    23912387
    2392                 $expected = "<script type='text/javascript' id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
     2388                $expected = "<script id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
    23932389
    23942390                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    24042400                wp_add_inline_script( 'test-example', 'console.log("after");' );
    24052401
    2406                 $expected  = "<script type='text/javascript' id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
    2407                 $expected .= "<script type='text/javascript' id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
     2402                $expected  = "<script id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
     2403                $expected .= "<script id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
    24082404
    24092405                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    24202416                wp_add_inline_script( 'test-example', 'console.log("after");' );
    24212417
    2422                 $expected  = "<script type='text/javascript' id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
    2423                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
    2424                 $expected .= "<script type='text/javascript' id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
     2418                $expected  = "<script id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
     2419                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
     2420                $expected .= "<script id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
    24252421
    24262422                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    24362432                wp_add_inline_script( 'test-example', 'console.log("after");' );
    24372433
    2438                 $expected  = "<script type='text/javascript' id='test-example-js-extra'>\n/* <![CDATA[ */\nvar testExample = {\"foo\":\"bar\"};\n//# sourceURL=test-example-js-extra\n/* ]]> */\n</script>\n";
    2439                 $expected .= "<script type='text/javascript' id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
    2440                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
    2441                 $expected .= "<script type='text/javascript' id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
     2434                $expected  = "<script id='test-example-js-extra'>\n/* <![CDATA[ */\nvar testExample = {\"foo\":\"bar\"};\n//# sourceURL=test-example-js-extra\n/* ]]> */\n</script>\n";
     2435                $expected .= "<script id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
     2436                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
     2437                $expected .= "<script id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
    24422438
    24432439                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    24602456                wp_add_inline_script( 'two', 'console.log("before two");', 'before' );
    24612457
    2462                 $expected  = "<script type='text/javascript' id='one-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before one\");\n//# sourceURL=one-js-before\n/* ]]> */\n</script>\n";
    2463                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}one.js?ver={$wp_version}' id='one-js'></script>\n";
    2464                 $expected .= "<script type='text/javascript' id='two-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before two\");\n//# sourceURL=two-js-before\n/* ]]> */\n</script>\n";
    2465                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}two.js?ver={$wp_version}' id='two-js'></script>\n";
    2466                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}three.js?ver={$wp_version}' id='three-js'></script>\n";
     2458                $expected  = "<script id='one-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before one\");\n//# sourceURL=one-js-before\n/* ]]> */\n</script>\n";
     2459                $expected .= "<script src='{$this->default_scripts_dir}one.js?ver={$wp_version}' id='one-js'></script>\n";
     2460                $expected .= "<script id='two-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before two\");\n//# sourceURL=two-js-before\n/* ]]> */\n</script>\n";
     2461                $expected .= "<script src='{$this->default_scripts_dir}two.js?ver={$wp_version}' id='two-js'></script>\n";
     2462                $expected .= "<script src='{$this->default_scripts_dir}three.js?ver={$wp_version}' id='three-js'></script>\n";
    24672463
    24682464                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    24842480                wp_add_inline_script( 'one', 'console.log("before one");', 'before' );
    24852481
    2486                 $expected  = "<script type='text/javascript' id='one-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before one\");\n//# sourceURL=one-js-before\n/* ]]> */\n</script>\n";
    2487                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}one.js?ver={$wp_version}' id='one-js'></script>\n";
    2488                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}two.js?ver={$wp_version}' id='two-js'></script>\n";
    2489                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}three.js?ver={$wp_version}' id='three-js'></script>\n";
     2482                $expected  = "<script id='one-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before one\");\n//# sourceURL=one-js-before\n/* ]]> */\n</script>\n";
     2483                $expected .= "<script src='{$this->default_scripts_dir}one.js?ver={$wp_version}' id='one-js'></script>\n";
     2484                $expected .= "<script src='{$this->default_scripts_dir}two.js?ver={$wp_version}' id='two-js'></script>\n";
     2485                $expected .= "<script src='{$this->default_scripts_dir}three.js?ver={$wp_version}' id='three-js'></script>\n";
    24902486
    24912487                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    25092505                wp_add_inline_script( 'three', 'console.log("after three");' );
    25102506
    2511                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one&amp;ver={$wp_version}'></script>\n";
    2512                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}two.js?ver={$wp_version}' id='two-js'></script>\n";
    2513                 $expected .= "<script type='text/javascript' id='two-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after two\");\n//# sourceURL=two-js-after\n/* ]]> */\n</script>\n";
    2514                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}three.js?ver={$wp_version}' id='three-js'></script>\n";
    2515                 $expected .= "<script type='text/javascript' id='three-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after three\");\n//# sourceURL=three-js-after\n/* ]]> */\n</script>\n";
    2516                 $expected .= "<script type='text/javascript' src='{$this->default_scripts_dir}four.js?ver={$wp_version}' id='four-js'></script>\n";
     2507                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one&amp;ver={$wp_version}'></script>\n";
     2508                $expected .= "<script src='{$this->default_scripts_dir}two.js?ver={$wp_version}' id='two-js'></script>\n";
     2509                $expected .= "<script id='two-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after two\");\n//# sourceURL=two-js-after\n/* ]]> */\n</script>\n";
     2510                $expected .= "<script src='{$this->default_scripts_dir}three.js?ver={$wp_version}' id='three-js'></script>\n";
     2511                $expected .= "<script id='three-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after three\");\n//# sourceURL=three-js-after\n/* ]]> */\n</script>\n";
     2512                $expected .= "<script src='{$this->default_scripts_dir}four.js?ver={$wp_version}' id='four-js'></script>\n";
    25172513
    25182514                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    25572553                $wp_scripts->do_concat = true;
    25582554
    2559                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core,jquery-migrate&amp;ver={$wp_version}'></script>\n";
    2560                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
    2561                 $expected .= "<script type='text/javascript' id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
     2555                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core,jquery-migrate&amp;ver={$wp_version}'></script>\n";
     2556                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
     2557                $expected .= "<script id='test-example-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example-js-after\n/* ]]> */\n</script>\n";
    25622558
    25632559                wp_enqueue_script( 'test-example', 'http://example.com', array( 'jquery' ), null );
    … …  
    26062602                $wp_scripts->do_concat = true;
    26072603
    2608                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core,jquery-migrate&amp;ver={$wp_version}'></script>\n";
    2609                 $expected .= "<script type='text/javascript' id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
    2610                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
     2604                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core,jquery-migrate&amp;ver={$wp_version}'></script>\n";
     2605                $expected .= "<script id='test-example-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n</script>\n";
     2606                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
    26112607
    26122608                wp_enqueue_script( 'test-example', 'http://example.com', array( 'jquery' ), null );
    … …  
    26312627                $wp_scripts->do_concat = true;
    26322628
    2633                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core,jquery-migrate,wp-dom-ready,wp-hooks&amp;ver={$wp_version}'></script>\n";
    2634                 $expected .= "<script type='text/javascript' id='test-example-js-before'>\n";
     2629                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core,jquery-migrate,wp-dom-ready,wp-hooks&amp;ver={$wp_version}'></script>\n";
     2630                $expected .= "<script id='test-example-js-before'>\n";
    26352631                $expected .= "/* <![CDATA[ */\nconsole.log(\"before\");\n//# sourceURL=test-example-js-before\n/* ]]> */\n";
    26362632                $expected .= "</script>\n";
    2637                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
    2638                 $expected .= "<script type='text/javascript' src='/wp-includes/js/dist/i18n.min.js' id='wp-i18n-js'></script>\n";
    2639                 $expected .= "<script type='text/javascript' id='wp-i18n-js-after'>\n";
     2633                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
     2634                $expected .= "<script src='/wp-includes/js/dist/i18n.min.js' id='wp-i18n-js'></script>\n";
     2635                $expected .= "<script id='wp-i18n-js-after'>\n";
    26402636                $expected .= "/* <![CDATA[ */\n";
    26412637                $expected .= "wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );\n";
    … …  
    26432639                $expected .= "/* ]]> */\n";
    26442640                $expected .= "</script>\n";
    2645                 $expected .= "<script type='text/javascript' src='/wp-includes/js/dist/a11y.min.js' id='wp-a11y-js'></script>\n";
    2646                 $expected .= "<script type='text/javascript' src='http://example2.com' id='test-example2-js'></script>\n";
    2647                 $expected .= "<script type='text/javascript' id='test-example2-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example2-js-after\n/* ]]> */\n</script>\n";
     2641                $expected .= "<script src='/wp-includes/js/dist/a11y.min.js' id='wp-a11y-js'></script>\n";
     2642                $expected .= "<script src='http://example2.com' id='test-example2-js'></script>\n";
     2643                $expected .= "<script id='test-example2-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after\");\n//# sourceURL=test-example2-js-after\n/* ]]> */\n</script>\n";
    26482644                wp_enqueue_script( 'test-example', 'http://example.com', array( 'jquery' ), null );
    26492645                wp_add_inline_script( 'test-example', 'console.log("before");', 'before' );
    … …  
    26962692                $print_scripts = $this->getActualOutput();
    26972693
    2698                 $expected = "<script type='text/javascript' src='/customize-dependency.js' id='customize-dependency-js'></script>\n";
     2694                $expected = "<script src='/customize-dependency.js' id='customize-dependency-js'></script>\n";
    26992695                $this->assertEqualHTMLScriptTagById( $expected, $print_scripts );
    27002696
    2701                 $expected  = "<script type='text/javascript' id='customize-dependency-js-after'>\n";
     2697                $expected  = "<script id='customize-dependency-js-after'>\n";
    27022698                $expected .= "/* <![CDATA[ */\n";
    27032699                $expected .= "tryCustomizeDependency()\n";
    … …  
    27232719                wp_enqueue_script( 'four', '/wp-includes/js/script4.js' );
    27242720
    2725                 $expected  = "<script type='text/javascript' src='/wp-includes/js/script.js?ver={$wp_version}' id='one-js'></script>\n";
    2726                 $expected .= "<script type='text/javascript' id='one-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after one\");\n//# sourceURL=one-js-after\n/* ]]> */\n</script>\n";
    2727                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script2.js?ver={$wp_version}' id='two-js'></script>\n";
    2728                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script3.js?ver={$wp_version}' id='three-js'></script>\n";
    2729                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script4.js?ver={$wp_version}' id='four-js'></script>\n";
     2721                $expected  = "<script src='/wp-includes/js/script.js?ver={$wp_version}' id='one-js'></script>\n";
     2722                $expected .= "<script id='one-js-after'>\n/* <![CDATA[ */\nconsole.log(\"after one\");\n//# sourceURL=one-js-after\n/* ]]> */\n</script>\n";
     2723                $expected .= "<script src='/wp-includes/js/script2.js?ver={$wp_version}' id='two-js'></script>\n";
     2724                $expected .= "<script src='/wp-includes/js/script3.js?ver={$wp_version}' id='three-js'></script>\n";
     2725                $expected .= "<script src='/wp-includes/js/script4.js?ver={$wp_version}' id='four-js'></script>\n";
    27302726
    27312727                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    27472743                wp_enqueue_script( 'four', '/wp-includes/js/script4.js' );
    27482744
    2749                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one,two&amp;ver={$wp_version}'></script>\n";
    2750                 $expected .= "<script type='text/javascript' id='three-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before three\");\n//# sourceURL=three-js-before\n/* ]]> */\n</script>\n";
    2751                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script3.js?ver={$wp_version}' id='three-js'></script>\n";
    2752                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script4.js?ver={$wp_version}' id='four-js'></script>\n";
     2745                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one,two&amp;ver={$wp_version}'></script>\n";
     2746                $expected .= "<script id='three-js-before'>\n/* <![CDATA[ */\nconsole.log(\"before three\");\n//# sourceURL=three-js-before\n/* ]]> */\n</script>\n";
     2747                $expected .= "<script src='/wp-includes/js/script3.js?ver={$wp_version}' id='three-js'></script>\n";
     2748                $expected .= "<script src='/wp-includes/js/script4.js?ver={$wp_version}' id='four-js'></script>\n";
    27532749
    27542750                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    27692765                                'delayed'        => false,
    27702766                                'expected_data'  => "/*before foo 1*/\n//# sourceURL=foo-js-before",
    2771                                 'expected_tag'   => "<script id='foo-js-before' type='text/javascript'>\n/* <![CDATA[ */\n/*before foo 1*/\n//# sourceURL=foo-js-before\n/* ]]> */\n</script>\n",
     2767                                'expected_tag'   => "<script id='foo-js-before'>\n/* <![CDATA[ */\n/*before foo 1*/\n//# sourceURL=foo-js-before\n/* ]]> */\n</script>\n",
    27722768                        ),
    27732769                        'after-blocking'  => array(
    … …  
    27792775                                'delayed'        => false,
    27802776                                'expected_data'  => "/*after foo 1*/\n/*after foo 2*/\n//# sourceURL=foo-js-after",
    2781                                 'expected_tag'   => "<script id='foo-js-after' type='text/javascript'>\n/* <![CDATA[ */\n/*after foo 1*/\n/*after foo 2*/\n//# sourceURL=foo-js-after\n/* ]]> */\n</script>\n",
     2777                                'expected_tag'   => "<script id='foo-js-after'>\n/* <![CDATA[ */\n/*after foo 1*/\n/*after foo 2*/\n//# sourceURL=foo-js-after\n/* ]]> */\n</script>\n",
    27822778                        ),
    27832779                        'before-delayed'  => array(
    … …  
    27882784                                'delayed'        => true,
    27892785                                'expected_data'  => "/*before foo 1*/\n//# sourceURL=foo-js-before",
    2790                                 'expected_tag'   => "<script id='foo-js-before' type='text/javascript'>\n/* <![CDATA[ */\n/*before foo 1*/\n//# sourceURL=foo-js-before\n/* ]]> */\n</script>\n",
     2786                                'expected_tag'   => "<script id='foo-js-before'>\n/* <![CDATA[ */\n/*before foo 1*/\n//# sourceURL=foo-js-before\n/* ]]> */\n</script>\n",
    27912787                        ),
    27922788                        'after-delayed'   => array(
    … …  
    27982794                                'delayed'        => true,
    27992795                                'expected_data'  => "/*after foo 1*/\n/*after foo 2*/\n//# sourceURL=foo-js-after",
    2800                                 'expected_tag'   => "<script id='foo-js-after' type='text/javascript'>\n/* <![CDATA[ */\n/*after foo 1*/\n/*after foo 2*/\n//# sourceURL=foo-js-after\n/* ]]> */\n</script>\n",
     2796                                'expected_tag'   => "<script id='foo-js-after'>\n/* <![CDATA[ */\n/*after foo 1*/\n/*after foo 2*/\n//# sourceURL=foo-js-after\n/* ]]> */\n</script>\n",
    28012797                        ),
    28022798                );
    … …  
    28682864                wp_set_script_translations( 'test-example', 'default', DIR_TESTDATA . '/languages' );
    28692865
    2870                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     2866                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    28712867                $expected .= str_replace(
    28722868                        array(
    … …  
    28822878                        $this->wp_scripts_print_translations_output
    28832879                );
    2884                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js' id='test-example-js'></script>\n";
     2880                $expected .= "<script src='/wp-includes/js/script.js' id='test-example-js'></script>\n";
    28852881
    28862882                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    29002896                wp_set_script_translations( 'domain-path-plugin', 'internationalized-plugin' );
    29012897
    2902                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     2898                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    29032899                $expected .= str_replace(
    29042900                        array(
    … …  
    29142910                        $this->wp_scripts_print_translations_output
    29152911                );
    2916                 $expected .= "<script type='text/javascript' src='/wp-content/plugins/my-plugin/js/script.js' id='domain-path-plugin-js'></script>\n";
     2912                $expected .= "<script src='/wp-content/plugins/my-plugin/js/script.js' id='domain-path-plugin-js'></script>\n";
    29172913
    29182914                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    29352931                wp_set_script_translations( 'script-handle', 'admin' );
    29362932
    2937                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     2933                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    29382934                $expected .= str_replace(
    29392935                        array(
    … …  
    29492945                        $this->wp_scripts_print_translations_output
    29502946                );
    2951                 $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js' id='script-handle-js'></script>\n";
     2947                $expected .= "<script src='/wp-admin/js/script.js' id='script-handle-js'></script>\n";
    29522948
    29532949                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    29622958                wp_set_script_translations( 'plugin-example', 'internationalized-plugin', DIR_TESTDATA . '/languages/plugins' );
    29632959
    2964                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     2960                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    29652961                $expected .= str_replace(
    29662962                        array(
    … …  
    29762972                        $this->wp_scripts_print_translations_output
    29772973                );
    2978                 $expected .= "<script type='text/javascript' src='/wp-content/plugins/my-plugin/js/script.js' id='plugin-example-js'></script>\n";
     2974                $expected .= "<script src='/wp-content/plugins/my-plugin/js/script.js' id='plugin-example-js'></script>\n";
    29792975
    29802976                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    29892985                wp_set_script_translations( 'theme-example', 'internationalized-theme', DIR_TESTDATA . '/languages/themes' );
    29902986
    2991                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     2987                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    29922988                $expected .= str_replace(
    29932989                        array(
    … …  
    30032999                        $this->wp_scripts_print_translations_output
    30043000                );
    3005                 $expected .= "<script type='text/javascript' src='/wp-content/themes/my-theme/js/script.js' id='theme-example-js'></script>\n";
     3001                $expected .= "<script src='/wp-content/themes/my-theme/js/script.js' id='theme-example-js'></script>\n";
    30063002
    30073003                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    30163012                wp_set_script_translations( 'script-handle', 'admin', DIR_TESTDATA . '/languages/' );
    30173013
    3018                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     3014                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    30193015                $expected .= str_replace(
    30203016                        array(
    … …  
    30303026                        $this->wp_scripts_print_translations_output
    30313027                );
    3032                 $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js' id='script-handle-js'></script>\n";
     3028                $expected .= "<script src='/wp-admin/js/script.js' id='script-handle-js'></script>\n";
    30333029
    30343030                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    30593055                wp_set_script_translations( 'test-example', 'admin', DIR_TESTDATA . '/languages/' );
    30603056
    3061                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    3062                 $expected .= "<script type='text/javascript' src='/wp-admin/js/script.js' id='test-example-js'></script>\n";
     3057                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     3058                $expected .= "<script src='/wp-admin/js/script.js' id='test-example-js'></script>\n";
    30633059
    30643060                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    30753071                wp_enqueue_script( 'test-example' );
    30763072
    3077                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     3073                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    30783074                $expected .= str_replace(
    30793075                        array(
    … …  
    30893085                        $this->wp_scripts_print_translations_output
    30903086                );
    3091                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js' id='test-example-js'></script>\n";
     3087                $expected .= "<script src='/wp-includes/js/script.js' id='test-example-js'></script>\n";
    30923088
    30933089                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    31043100                wp_enqueue_script( 'test-example', '/wp-includes/js/script2.js', array( 'test-dependency' ), null );
    31053101
    3106                 $expected  = "<script type='text/javascript' src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
     3102                $expected  = "<script src='/wp-includes/js/dist/wp-i18n.js' id='wp-i18n-js'></script>\n";
    31073103                $expected .= str_replace(
    31083104                        array(
    … …  
    31183114                        $this->wp_scripts_print_translations_output
    31193115                );
    3120                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script.js' id='test-dependency-js'></script>\n";
    3121                 $expected .= "<script type='text/javascript' src='/wp-includes/js/script2.js' id='test-example-js'></script>\n";
     3116                $expected .= "<script src='/wp-includes/js/script.js' id='test-dependency-js'></script>\n";
     3117                $expected .= "<script src='/wp-includes/js/script2.js' id='test-example-js'></script>\n";
    31223118
    31233119                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    35073503                wp_localize_script( 'test-example', 'testExample', $l10n_data );
    35083504
    3509                 $expected  = "<script type='text/javascript' id='test-example-js-extra'>\n/* <![CDATA[ */\nvar testExample = {$expected};\n//# sourceURL=test-example-js-extra\n/* ]]> */\n</script>\n";
    3510                 $expected .= "<script type='text/javascript' src='http://example.com' id='test-example-js'></script>\n";
     3505                $expected  = "<script id='test-example-js-extra'>\n/* <![CDATA[ */\nvar testExample = {$expected};\n//# sourceURL=test-example-js-extra\n/* ]]> */\n</script>\n";
     3506                $expected .= "<script src='http://example.com' id='test-example-js'></script>\n";
    35113507
    35123508                $this->assertEqualHTML( $expected, get_echo( 'wp_print_scripts' ) );
    … …  
    35713567
    35723568                // The non-default script should end concatenation and maintain order.
    3573                 $expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core&amp;ver={$wp_version}'></script>\n";
    3574                 $expected .= "<script type='text/javascript' src='/plugins/wp-i18n.js' id='wp-i18n-js'></script>\n";
    3575                 $expected .= "<script type='text/javascript' src='/default/common.js' id='common-js'></script>\n";
     3569                $expected  = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=jquery-core&amp;ver={$wp_version}'></script>\n";
     3570                $expected .= "<script src='/plugins/wp-i18n.js' id='wp-i18n-js'></script>\n";
     3571                $expected .= "<script src='/default/common.js' id='common-js'></script>\n";
    35763572
    35773573                $this->assertEqualHTML( $expected, $print_scripts );
    … …  
    36993695                                'expected_header'    => '',
    37003696                                'expected_footer'    => '
    3701                                         <script type="text/javascript" src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
    3702                                         <script type="text/javascript" src="https://example.com/script-b.js" id="script-b-js"></script>
     3697                                        <script src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
     3698                                        <script src="https://example.com/script-b.js" id="script-b-js"></script>
    37033699                                ',
    37043700                                'expected_in_footer' => array(
    … …  
    37203716                                'expected_header'    => '',
    37213717                                'expected_footer'    => '
    3722                                         <script type="text/javascript" src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="async"></script>
    3723                                         <script type="text/javascript" src="https://example.com/script-b.js" id="script-b-js"></script>
     3718                                        <script src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="async"></script>
     3719                                        <script src="https://example.com/script-b.js" id="script-b-js"></script>
    37243720                                ',
    37253721                                'expected_in_footer' => array(
    … …  
    37403736                                },
    37413737                                'expected_header'    => '
    3742                                         <script type="text/javascript" src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
    3743                                         <script type="text/javascript" src="https://example.com/script-b.js" id="script-b-js"></script>
     3738                                        <script src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
     3739                                        <script src="https://example.com/script-b.js" id="script-b-js"></script>
    37443740                                ',
    37453741                                'expected_footer'    => '',
    … …  
    37673763                                },
    37683764                                'expected_header'    => '
    3769                                         <script type="text/javascript" src="https://example.com/script-a.js" id="script-a-js" defer="defer" data-wp-strategy="defer"></script>
     3765                                        <script src="https://example.com/script-a.js" id="script-a-js" defer="defer" data-wp-strategy="defer"></script>
    37703766                                ',
    37713767                                'expected_footer'    => '
    3772                                         <script type="text/javascript" src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
     3768                                        <script src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
    37733769                                ',
    37743770                                'expected_in_footer' => array(
    … …  
    38173813                                },
    38183814                                'expected_header'    => '
    3819                                         <script type="text/javascript" src="https://example.com/script-a.js" id="script-a-js" defer="defer" data-wp-strategy="defer"></script>
    3820                                         <script type="text/javascript" src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
     3815                                        <script src="https://example.com/script-a.js" id="script-a-js" defer="defer" data-wp-strategy="defer"></script>
     3816                                        <script src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
    38213817                                ',
    38223818                                'expected_footer'    => '
    3823                                         <script type="text/javascript" src="https://example.com/script-c.js" id="script-c-js" defer="defer" data-wp-strategy="defer"></script>
    3824                                         <script type="text/javascript" src="https://example.com/script-d.js" id="script-d-js" defer="defer" data-wp-strategy="defer"></script>
     3819                                        <script src="https://example.com/script-c.js" id="script-c-js" defer="defer" data-wp-strategy="defer"></script>
     3820                                        <script src="https://example.com/script-d.js" id="script-d-js" defer="defer" data-wp-strategy="defer"></script>
    38253821                                ',
    38263822                                'expected_in_footer' => array(
    … …  
    38643860                                'expected_header'    => '',
    38653861                                'expected_footer'    => '
    3866                                         <script type="text/javascript" src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
    3867                                         <script type="text/javascript" src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
    3868                                         <script type="text/javascript" src="https://example.com/script-c.js" id="script-c-js"></script>
    3869                                         <script type="text/javascript" src="https://example.com/script-d.js" id="script-d-js" defer="defer" data-wp-strategy="defer"></script>
     3862                                        <script src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
     3863                                        <script src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
     3864                                        <script src="https://example.com/script-c.js" id="script-c-js"></script>
     3865                                        <script src="https://example.com/script-d.js" id="script-d-js" defer="defer" data-wp-strategy="defer"></script>
    38703866                                ',
    38713867                                'expected_in_footer' => array(
    … …  
    39113907                                },
    39123908                                'expected_header'    => '
    3913                                         <script type="text/javascript" src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
    3914                                         <script type="text/javascript" src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
     3909                                        <script src="https://example.com/script-a.js" id="script-a-js" data-wp-strategy="defer"></script>
     3910                                        <script src="https://example.com/script-b.js" id="script-b-js" defer="defer" data-wp-strategy="defer"></script>
    39153911                                ',
    39163912                                'expected_footer'    => '
    3917                                         <script type="text/javascript" src="https://example.com/script-c.js" id="script-c-js"></script>
    3918                                         <script type="text/javascript" src="https://example.com/script-d.js" id="script-d-js" defer="defer" data-wp-strategy="defer"></script>
     3913                                        <script src="https://example.com/script-c.js" id="script-c-js"></script>
     3914                                        <script src="https://example.com/script-d.js" id="script-d-js" defer="defer" data-wp-strategy="defer"></script>
    39193915                                ',
    39203916                                'expected_in_footer' => array(
    … …  
    42074203                $markup = get_echo( 'wp_print_scripts' );
    42084204
    4209                 $expected = "<script type='text/javascript' src='/test-script.js?{$expected_query_string}' id='test-script-js'></script>";
     4205                $expected = "<script src='/test-script.js?{$expected_query_string}' id='test-script-js'></script>";
    42104206                $this->assertEqualHTML( $expected, $markup, '<body>', 'Expected equal snapshot for wp_print_scripts() with version ' . var_export( $version, true ) . ":\n$markup" );
    42114207        }
    … …  
    42284224                $markup = get_echo( 'wp_print_scripts' );
    42294225
    4230                 $expected = "<script type='text/javascript' src='/test-script.js?{$expected_query_string}' id='test-script-js'></script>";
     4226                $expected = "<script src='/test-script.js?{$expected_query_string}' id='test-script-js'></script>";
    42314227                $this->assertEqualHTML( $expected, $markup, '<body>', 'Expected equal snapshot for wp_print_scripts() with version ' . var_export( $version, true ) . ":\n$markup" );
    42324228        }
  • trunk/tests/phpunit/tests/dependencies/styles.php

    r61397 r61411  
    6969
    7070                $ver       = get_bloginfo( 'version' );
    71                 $expected  = "<link rel='stylesheet' id='no-deps-no-version-css' href='http://example.com?ver=$ver' type='text/css' media='all' />\n";
    72                 $expected .= "<link rel='stylesheet' id='no-deps-version-css' href='http://example.com?ver=1.2' type='text/css' media='all' />\n";
    73                 $expected .= "<link rel='stylesheet' id='no-deps-null-version-css' href='http://example.com' type='text/css' media='all' />\n";
    74                 $expected .= "<link rel='stylesheet' id='no-deps-null-version-print-media-css' href='http://example.com' type='text/css' media='print' />\n";
    75                 $expected .= "<link rel='stylesheet' id='no-deps-arg-in-handle-with-ver-css' href='https://example.com/test.css?ver=2.0&#038;arg1=foo&#038;arg2=bar' type='text/css' media='all' />\n";
    76                 $expected .= "<link rel='stylesheet' id='no-deps-arg-in-handle-without-ver-css' href='https://example.com/test.css?arg1=foo&#038;arg2=bar' type='text/css' media='all' />\n";
    77                 $expected .= "<link rel='stylesheet' id='registered-no-qs-handle-null-version-enqueued-with-qs-css' href='https://example.com/test.css?ver={$ver}&#038;arg1=foo&#038;arg2=bar' type='text/css' media='all' />\n";
     71                $expected  = "<link rel='stylesheet' id='no-deps-no-version-css' href='http://example.com?ver=$ver' media='all' />\n";
     72                $expected .= "<link rel='stylesheet' id='no-deps-version-css' href='http://example.com?ver=1.2' media='all' />\n";
     73                $expected .= "<link rel='stylesheet' id='no-deps-null-version-css' href='http://example.com' media='all' />\n";
     74                $expected .= "<link rel='stylesheet' id='no-deps-null-version-print-media-css' href='http://example.com' media='print' />\n";
     75                $expected .= "<link rel='stylesheet' id='no-deps-arg-in-handle-with-ver-css' href='https://example.com/test.css?ver=2.0&#038;arg1=foo&#038;arg2=bar' media='all' />\n";
     76                $expected .= "<link rel='stylesheet' id='no-deps-arg-in-handle-without-ver-css' href='https://example.com/test.css?arg1=foo&#038;arg2=bar' media='all' />\n";
     77                $expected .= "<link rel='stylesheet' id='registered-no-qs-handle-null-version-enqueued-with-qs-css' href='https://example.com/test.css?ver={$ver}&#038;arg1=foo&#038;arg2=bar' media='all' />\n";
    7878
    7979                $this->assertEqualHTML( $expected, get_echo( 'wp_print_styles' ) );
    … …  
    110110                wp_enqueue_style( $handle, 'example.com', array(), null );
    111111
    112                 $expected = "<link rel='stylesheet' id='$handle-css' href='http://example.com' type='text/css' media='all' />\n";
     112                $expected = "<link rel='stylesheet' id='$handle-css' href='http://example.com' media='all' />\n";
    113113
    114114                $this->assertEqualHTML( $expected, get_echo( 'wp_print_styles' ) );
    … …  
    146146                // Try with an HTTP reference.
    147147                wp_enqueue_style( 'reset-css-http', 'http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
    148                 $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";
     148                $expected .= "<link rel='stylesheet' id='reset-css-http-css' href='http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' media='all' />\n";
    149149
    150150                // Try with an HTTPS reference.
    151151                wp_enqueue_style( 'reset-css-https', 'http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
    152                 $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";
     152                $expected .= "<link rel='stylesheet' id='reset-css-https-css' href='http://yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' media='all' />\n";
    153153
    154154                // Try with an automatic protocol reference (//).
    155155                wp_enqueue_style( 'reset-css-doubleslash', '//yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
    156                 $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";
     156                $expected .= "<link rel='stylesheet' id='reset-css-doubleslash-css' href='//yui.yahooapis.com/2.8.1/build/reset/reset-min.css?ver=$ver' media='all' />\n";
    157157
    158158                // Try with a local resource and an automatic protocol reference (//).
    159159                $url = '//my_plugin/style.css';
    160160                wp_enqueue_style( 'plugin-style', $url );
    161                 $expected .= "<link rel='stylesheet' id='plugin-style-css' href='$url?ver=$ver' type='text/css' media='all' />\n";
     161                $expected .= "<link rel='stylesheet' id='plugin-style-css' href='$url?ver=$ver' media='all' />\n";
    162162
    163163                // Try with a bad protocol.
    164164                wp_enqueue_style( 'reset-css-ftp', 'ftp://yui.yahooapis.com/2.8.1/build/reset/reset-min.css' );
    165                 $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";
     165                $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' media='all' />\n";
    166166
    167167                // Go!
    … …  
    186186                $style .= '}';
    187187
    188                 $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
    189                 $expected .= "<style id='handle-inline-css' type='text/css'>\n";
     188                $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' media='all' />\n";
     189                $expected .= "<style id='handle-inline-css'>\n";
    190190                $expected .= "$style\n";
    191191                $expected .= "/*# sourceURL=handle-inline-css */\n";
    … …  
    214214                $style .= '}';
    215215
    216                 $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
    217                 $expected .= "<style id='handle-inline-css' type='text/css'>\n";
     216                $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' media='all' />\n";
     217                $expected .= "<style id='handle-inline-css'>\n";
    218218                $expected .= "$style\n";
    219219                $expected .= "</style>\n";
    … …  
    308308                $style2 .= '}';
    309309
    310                 $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
    311                 $expected .= "<style id='handle-inline-css' type='text/css'>\n";
     310                $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' media='all' />\n";
     311                $expected .= "<style id='handle-inline-css'>\n";
    312312                $expected .= "$style1\n";
    313313                $expected .= "$style2\n";
    … …  
    334334                $style .= '}';
    335335
    336                 $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
    337                 $expected .= "<style id='handle-inline-css' type='text/css'>\n";
     336                $expected  = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' media='all' />\n";
     337                $expected .= "<style id='handle-inline-css'>\n";
    338338                $expected .= "$style\n";
    339339                $expected .= "/*# sourceURL=handle-inline-css */\n";
    … …  
    354354        public function test_unnecessary_style_tags() {
    355355
    356                 $expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
     356                $expected = "<link rel='stylesheet' id='handle-css' href='http://example.com?ver=1' media='all' />\n";
    357357
    358358                wp_enqueue_style( 'handle', 'http://example.com', array(), 1 );
    … …  
    392392                $style = 'a { color: blue; }';
    393393
    394                 $expected  = "<link rel='stylesheet' id='handle-one-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
    395                 $expected .= "<link rel='stylesheet' id='handle-two-css' href='http://example.com?ver=1' type='text/css' media='all' />\n";
    396                 $expected .= "<style id='handle-three-inline-css' type='text/css'>\n";
     394                $expected  = "<link rel='stylesheet' id='handle-one-css' href='http://example.com?ver=1' media='all' />\n";
     395                $expected .= "<link rel='stylesheet' id='handle-two-css' href='http://example.com?ver=1' media='all' />\n";
     396                $expected .= "<style id='handle-three-inline-css'>\n";
    397397                $expected .= "$style\n";
    398398                $expected .= "/*# sourceURL=handle-three-inline-css */\n";
    … …  
    629629                        $this->assertSame( 'STYLE', $processor->get_tag() );
    630630                        $this->assertSame( $handle . '-inline-css', $processor->get_attribute( 'id' ) );
    631                         $this->assertSame( 'text/css', $processor->get_attribute( 'type' ) );
     631                        $this->assertNull( $processor->get_attribute( 'type' ) );
    632632
    633633                        $expected_inline_styles = $expected_after;
    … …  
    778778
    779779                $expected = <<<HTML
    780 <link rel='stylesheet' href="/example.css?ver=0.0" id="# test/</style> #-css" media="all" type="text/css">
    781 <style id="# test/</style> #-inline-css" type="text/css">
     780<link rel='stylesheet' href="/example.css?ver=0.0" id="# test/</style> #-css" media="all">
     781<style id="# test/</style> #-inline-css">
    782782custom-el { content: "ok"; }
    783783/*# sourceURL=%23%20test%2F%3C%2Fstyle%3E%20%23-inline-css */
    … …  
    870870                $markup = get_echo( 'wp_print_styles' );
    871871
    872                 $expected = "<link rel='stylesheet' href='/test-style.css?{$expected_query_string}' id='test-style-css' type='text/css' media='all' />";
     872                $expected = "<link rel='stylesheet' href='/test-style.css?{$expected_query_string}' id='test-style-css' media='all' />";
    873873                $this->assertEqualHTML( $expected, $markup, '<body>', 'Expected equal snapshot for wp_print_styles() with version ' . var_export( $version, true ) . ":\n$markup" );
    874874        }
    … …  
    891891                $markup = get_echo( 'wp_print_styles' );
    892892
    893                 $expected = "<link rel='stylesheet' href='/test-style.css?{$expected_query_string}' id='test-style-css' type='text/css' media='all' />";
     893                $expected = "<link rel='stylesheet' href='/test-style.css?{$expected_query_string}' id='test-style-css' media='all' />";
    894894                $this->assertEqualHTML( $expected, $markup, '<body>', 'Expected equal snapshot for wp_print_styles() with version ' . var_export( $version, true ) . ":\n$markup" );
    895895        }
  • trunk/tests/phpunit/tests/dependencies/wpInlineScriptTag.php

    r61395 r61411  
    144144
    145145                $this->assertSame(
    146                         "<script type=\"text/javascript\">\n/* <![CDATA[ */\n/* <![CDATA[ */ console.log( 'Hello World!' ); /* ]]]]><![CDATA[> */\n/* ]]> */\n</script>\n",
     146                        "<script>\n/* <![CDATA[ */\n/* <![CDATA[ */ console.log( 'Hello World!' ); /* ]]]]><![CDATA[> */\n/* ]]> */\n</script>\n",
    147147                        wp_get_inline_script_tag( "/* <![CDATA[ */ console.log( 'Hello World!' ); /* ]]> */" )
    148148                );
  • trunk/tests/phpunit/tests/fonts/font-face/wpFontFace/generateAndPrint.php

    r61409 r61411  
    3232        public function test_should_generate_and_print_given_fonts( array $fonts, $expected ) {
    3333                $font_face       = new WP_Font_Face();
    34                 $style_element   = "<style class='wp-fonts-local' type='text/css'>\n%s\n</style>\n";
     34                $style_element   = "<style class='wp-fonts-local'>\n%s\n</style>\n";
    3535                $expected_output = sprintf( $style_element, $expected );
    3636
  • trunk/tests/phpunit/tests/fonts/font-face/wpPrintFontFaces.php

    r61409 r61411  
    5656
    5757                $expected_output = <<<CSS
    58 <style class='wp-fonts-local' type='text/css'>
     58<style class='wp-fonts-local'>
    5959@font-face{font-family:"Source Serif Pro";font-style:normal;font-weight:200 900;font-display:fallback;src:url('http://example.com/assets/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2') format('woff2');font-stretch:;}
    6060</style>
    … …  
    7777
    7878        private function get_expected_styles_output( $styles ) {
    79                 $style_element = "<style class='wp-fonts-local' type='text/css'>\n%s\n</style>\n";
     79                $style_element = "<style class='wp-fonts-local'>\n%s\n</style>\n";
    8080                return sprintf( $style_element, $styles );
    8181        }
  • trunk/tests/phpunit/tests/fonts/font-face/wpPrintFontFacesFromStyleVariations.php

    r61409 r61411  
    4949
    5050        private function get_expected_styles_output( $styles ) {
    51                 $style_element = "<style class='wp-fonts-local' type='text/css'>\n%s\n</style>\n";
     51                $style_element = "<style class='wp-fonts-local'>\n%s\n</style>\n";
    5252                return sprintf( $style_element, $styles );
    5353        }
  • trunk/tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php

    r58221 r61411  
    332332                $expected .= "<head>\n";
    333333                $expected .= "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />\n";
    334                 $expected .= "<style type='text/css'>body { color: black; font-family: Arial, sans-serif; font-size: 11pt; margin: 15px auto; width: 860px; }table { background: #f0f0f0; border: 1px solid #ddd; margin-bottom: 20px; width: 100%; }th { padding: 5px; text-align: left; width: 20%; }td { padding: 5px; }tr:nth-child(odd) { background-color: #fafafa; }.return-to-top { text-align: right; }</style><title>Personal Data Export for {$request->email}</title></head>\n";
     334                $expected .= "<style>body { color: black; font-family: Arial, sans-serif; font-size: 11pt; margin: 15px auto; width: 860px; }table { background: #f0f0f0; border: 1px solid #ddd; margin-bottom: 20px; width: 100%; }th { padding: 5px; text-align: left; width: 20%; }td { padding: 5px; }tr:nth-child(odd) { background-color: #fafafa; }.return-to-top { text-align: right; }</style><title>Personal Data Export for {$request->email}</title></head>\n";
    335335                $expected .= "<body>\n";
    336336                $expected .= '<h1 id="top">Personal Data Export</h1>';
Note: See TracChangeset for help on using the changeset viewer.