mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-01 15:50:09 +00:00
Add support for IE conditional comments for WP_Scripts to match the functionality of WP_Styles, including unit tests. Props filosofo, aaroncampbell, ethitter, georgestephanis, valendesigns. Fixes #16024.
git-svn-id: https://develop.svn.wordpress.org/trunk@31223 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -84,4 +84,39 @@ class Tests_Dependencies_Scripts extends WP_UnitTestCase {
|
||||
// Cleanup
|
||||
$wp_scripts->base_url = $base_url_backup;
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing add data & conditional
|
||||
* @ticket 16024
|
||||
*/
|
||||
function test_wp_script_add_data() {
|
||||
// Enqueue & add data
|
||||
wp_enqueue_script( 'test-only-data', 'example.com', array(), null );
|
||||
wp_script_add_data( 'test-only-data', 'data', 'testing' );
|
||||
$expected = "<script type='text/javascript'>\n/* <![CDATA[ */\ntesting\n/* ]]> */\n</script>\n";
|
||||
$expected.= "<script type='text/javascript' src='http://example.com'></script>\n";
|
||||
|
||||
// Enqueue & add conditional comments
|
||||
wp_enqueue_script( 'test-only-conditional', 'example.com', array(), null );
|
||||
wp_script_add_data( 'test-only-conditional', 'conditional', 'gt IE 7' );
|
||||
$expected.= "<!--[if gt IE 7]>\n<script type='text/javascript' src='http://example.com'></script>\n<![endif]-->\n";
|
||||
|
||||
// Enqueue & add data plus conditional comments for both
|
||||
wp_enqueue_script( 'test-conditional-with-data', 'example.com', array(), null );
|
||||
wp_script_add_data( 'test-conditional-with-data', 'data', 'testing' );
|
||||
wp_script_add_data( 'test-conditional-with-data', 'conditional', 'lt IE 9' );
|
||||
$expected.= "<!--[if lt IE 9]>\n<script type='text/javascript'>\n/* <![CDATA[ */\ntesting\n/* ]]> */\n</script>\n<![endif]-->\n";
|
||||
$expected.= "<!--[if lt IE 9]>\n<script type='text/javascript' src='http://example.com'></script>\n<![endif]-->\n";
|
||||
|
||||
// Enqueue & add an invalid key for brevity
|
||||
wp_enqueue_script( 'test-invalid', 'example.com', array(), null );
|
||||
wp_script_add_data( 'test-invalid', 'invalid', 'testing' );
|
||||
$expected.= "<script type='text/javascript' src='http://example.com'></script>\n";
|
||||
|
||||
// Go!
|
||||
$this->assertEquals( $expected, get_echo( 'wp_print_scripts' ) );
|
||||
|
||||
// No scripts left to print
|
||||
$this->assertEquals( '', get_echo( 'wp_print_scripts' ) );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user