Skip to content
7 changes: 2 additions & 5 deletions src/wp-includes/script-loader.php
Original file line number Diff line number Diff line change
Expand Up @@ -2230,10 +2230,7 @@ function _print_scripts() {

if ( $concat ) {
if ( ! empty( $wp_scripts->print_code ) ) {
echo "\n<script>\n";
echo $wp_scripts->print_code;
echo sprintf( "\n//# sourceURL=%s\n", rawurlencode( 'js-inline-concat-' . $concat ) );
echo "</script>\n";
wp_print_inline_script_tag( $wp_scripts->print_code . "\n//# sourceURL=" . rawurlencode( 'js-inline-concat-' . $concat ) );
}

$concat = str_split( $concat, 128 );
Expand All @@ -2244,7 +2241,7 @@ function _print_scripts() {
}

$src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}" . $concatenated . '&ver=' . $wp_scripts->default_version;
echo "<script src='" . esc_attr( $src ) . "'></script>\n";
wp_print_script_tag( array( 'src' => $src ) );
}

if ( ! empty( $wp_scripts->print_html ) ) {
Expand Down
24 changes: 15 additions & 9 deletions tests/phpunit/tests/dependencies/scripts.php
Original file line number Diff line number Diff line change
Expand Up @@ -2275,6 +2275,9 @@ public function test_protocols() {

/**
* Test script concatenation.
*
* @global WP_Scripts $wp_scripts
* @global string $wp_version
*/
public function test_script_concatenation() {
global $wp_scripts, $wp_version;
Expand All @@ -2289,9 +2292,9 @@ public function test_script_concatenation() {
wp_print_scripts();
$print_scripts = get_echo( '_print_scripts' );

$expected = "<script src='/wp-admin/load-scripts.php?c=0&amp;load%5Bchunk_0%5D=one,two,three&amp;ver={$wp_version}'></script>\n";
$expected = "<script src=\"/wp-admin/load-scripts.php?c=0&#038;load%5Bchunk_0%5D=one,two,three&#038;ver={$wp_version}\"></script>\n";

$this->assertSame( $expected, $print_scripts );
$this->assertEqualHTML( $expected, $print_scripts );
}

/**
Expand Down Expand Up @@ -4310,6 +4313,10 @@ public function test_source_url_encoding() {

/**
* @ticket 63887
*
* @global WP_Scripts $wp_scripts
* @global bool $concatenate_scripts
* @global string $wp_version
*/
public function test_source_url_with_concat() {
global $wp_scripts, $concatenate_scripts, $wp_version;
Expand All @@ -4328,14 +4335,13 @@ public function test_source_url_with_concat() {
$print_scripts = get_echo( '_print_scripts' );

$expected = <<<HTML
<script>
var one = {"key":"val"};var two = {"key":"val"};
//# sourceURL=js-inline-concat-one%2Ctwo
</script>
<script src="/wp-admin/load-scripts.php?c=0&#038;load%5Bchunk_0%5D=one,two&#038;ver={$wp_version}"></script>

<script>
var one = {"key":"val"};var two = {"key":"val"};
//# sourceURL=js-inline-concat-one%2Ctwo
</script>
<script src="/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=one,two&ver={$wp_version}"></script>

HTML;
HTML;

$this->assertEqualHTML( $expected, $print_scripts );
}
Expand Down
Loading