From a467f8653a6fab2903148df80ab0ce9f5f4fd04f Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Sun, 7 Dec 2014 13:01:16 +0300 Subject: [PATCH] Manipulation: improve test for data-URI Some environments do not support data-uri in "src" attribute of script element. Mitigate it with equality assertion --- test/unit/manipulation.js | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 7e38d25af..0243c2855 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -2462,15 +2462,28 @@ test( "Make sure jQuery.fn.remove can work on elements in documentFragment", 1, equal( fragment.childNodes.length, 0, "div element was removed from documentFragment" ); }); -// IE8 doesn't support data-URI in src attribute of script element -// Relevant - http://msdn.microsoft.com/en-us/library/cc848897(v=vs.85).aspx -if ( !/msie 8\.0/i.test( navigator.userAgent ) ) { - asyncTest( "Insert script with data-URI (gh-1887)", 1, function() { - Globals.register( "testFoo" ); - jQuery( "#qunit-fixture" ).append( "" ); - setTimeout(function (){ - strictEqual( window[ "testFoo" ], "foo", "data-URI script executed" ); - start(); - }, 100 ); +asyncTest( "Insert script with data-URI (gh-1887)", 1, function() { + Globals.register( "testFoo" ); + Globals.register( "testSrcFoo" ); + + var script = document.createElement( "script" ), + fixture = document.getElementById( "qunit-fixture" ); + + script.src = "data:text/javascript,testSrcFoo = 'foo';"; + + fixture.appendChild( script ); + + jQuery( fixture ).append( "" ); + + setTimeout(function() { + if ( window[ "testSrcFoo" ] === "foo" ) { + strictEqual( window[ "testFoo" ], window[ "testSrcFoo" ], "data-URI script executed" ); + + } else { + ok( true, "data-URI script is not supported by this environment" ); + } + + start(); }); -} +}); + -- 2.39.5