Script Loader: Improve test coverage for wp_print_scripts().

This is a follow-up to [56092], which further improves PHPUnit test coverage and inline docs for ensuring `async` and `defer` attributes are being properly handled for scripts that are printed without being enqueued.

Props peterwilsoncc, azaozz, westonruter, joemcgill.
See #58648.


git-svn-id: https://develop.svn.wordpress.org/trunk@56246 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Joe McGill
2023-07-17 14:04:00 +00:00
parent 8b5cfe0887
commit 967abef19e
2 changed files with 22 additions and 2 deletions
+18 -1
View File
@@ -2943,7 +2943,24 @@ HTML
$actual = get_echo( 'wp_print_scripts', array( array( 'wp-tinymce' ) ) );
$this->assertStringNotContainsString( 'async', $actual );
$this->assertStringNotContainsString( 'async', $actual, 'TinyMCE should not have an async attribute.' );
$this->assertStringNotContainsString( 'defer', $actual, 'TinyMCE should not have a defer attribute.' );
}
/**
* Make sure scripts with a loading strategy that are printed
* without being enqueued are handled properly.
*
* @ticket 58648
*
* @dataProvider data_provider_delayed_strategies
*/
public function test_printing_non_enqueued_scripts( $strategy ) {
wp_register_script( 'test-script', 'test-script.js', array(), false, array( 'strategy' => $strategy ) );
$actual = get_echo( 'wp_print_scripts', array( array( 'test-script' ) ) );
$this->assertStringContainsString( $strategy, $actual );
}
/**