Fix IE failures from 55313d32

This commit is contained in:
Richard Gibson 2012-12-11 16:12:23 -05:00
parent ef6d8779de
commit f42e1e654f

View File

@ -1206,32 +1206,31 @@ test("jQuery.proxy", function(){
}); });
test("jQuery.parseHTML", function() { test("jQuery.parseHTML", function() {
expect( 11 ); expect( 12 );
var html, nodes;
equal( jQuery.parseHTML(), null, "Nothing in, null out." ); equal( jQuery.parseHTML(), null, "Nothing in, null out." );
equal( jQuery.parseHTML( null ), null, "Nothing in, null out." ); equal( jQuery.parseHTML( null ), null, "Null in, null out." );
equal( jQuery.parseHTML( "" ), null, "Nothing in, null out." ); equal( jQuery.parseHTML( "" ), null, "Empty string in, null out." );
raises(function() { raises(function() {
jQuery.parseHTML( "<div>", document.getElementById("form") ); jQuery.parseHTML( "<div></div>", document.getElementById("form") );
}, "Passing an element as the context raises an exception (context should be a document)"); }, "Passing an element as the context raises an exception (context should be a document)");
var elems = jQuery.parseHTML( jQuery("body").html() ); nodes = jQuery.parseHTML( jQuery("body")[0].innerHTML );
ok( elems.length > 10, "Parse a large html string" ); ok( nodes.length > 4, "Parse a large html string" );
equal( jQuery.type( elems ), "array", "parseHTML returns an array rather than a nodelist" ); equal( jQuery.type( nodes ), "array", "parseHTML returns an array rather than a nodelist" );
var script = "<script>undefined()</script>"; html = "<script>undefined()</script>";
equal( jQuery.parseHTML( script ).length, 0, "Passing a script is not allowed by default" ); equal( jQuery.parseHTML( html ).length, 0, "Ignore scripts by default" );
raises(function() { equal( jQuery.parseHTML( html, true )[0].nodeName.toLowerCase(), "script", "Preserve scripts when requested" );
jQuery(jQuery.parseHTML( script, true )).appendTo("#qunit-fixture");
}, "Passing a script is allowed if allowScripts is true");
var html = script + "<div></div>"; html += "<div></div>";
equal( jQuery.parseHTML( html )[0].nodeName.toLowerCase(), "div", "Ignore scripts by default" ); equal( jQuery.parseHTML( html )[0].nodeName.toLowerCase(), "div", "Preserve non-script nodes" );
raises(function() { equal( jQuery.parseHTML( html, true )[0].nodeName.toLowerCase(), "script", "Preserve script position");
jQuery(jQuery.parseHTML( html, true )).appendTo("#qunit-fixture");
}, "Passing a script is allowed if allowScripts is true");
equal( jQuery.parseHTML("text")[0].nodeType, 3, "Parsing text returns a text node" ); equal( jQuery.parseHTML("text")[0].nodeType, 3, "Parsing text returns a text node" );
equal( jQuery.parseHTML( "\t<div></div>" )[0].nodeValue, "\t", "Preserve leading whitespace" );
}); });
test("jQuery.parseJSON", function(){ test("jQuery.parseJSON", function(){