]> source.dussan.org Git - jquery.git/commitdiff
Revert "Core: Return empty array instead of null for parseHTML("")"
authorOleg Gaidarenko <markelog@gmail.com>
Tue, 22 Dec 2015 18:01:43 +0000 (21:01 +0300)
committerOleg Gaidarenko <markelog@gmail.com>
Tue, 22 Dec 2015 18:01:43 +0000 (21:01 +0300)
This reverts commit 61bb61279ce51af189d40162dc62e44f04826051.

src/core/parseHTML.js
test/unit/core.js

index f6eb7abb4c955aecd8d2c0e394587c1d35945241..55f67c43efdd32b3b42b0b54cde4b8aea2d454d1 100644 (file)
@@ -13,8 +13,8 @@ define( [
 // defaults to document
 // keepScripts (optional): If true, will include scripts passed in the html string
 jQuery.parseHTML = function( data, context, keepScripts ) {
-       if ( typeof data !== "string" ) {
-               return [];
+       if ( !data || typeof data !== "string" ) {
+               return null;
        }
        if ( typeof context === "boolean" ) {
                keepScripts = context;
index 84548a0df90a11a0b7d88c1edc186b36ffa8d31a..9714b8685a12ca21b95d595a85b7900a36b68c8c 100644 (file)
@@ -1504,26 +1504,21 @@ QUnit.test( "jQuery.proxy", function( assert ) {
        cb.call( thisObject, "arg3" );
 } );
 
-QUnit.test( "jQuery.parseHTML", function( assert ) {
-       assert.expect( 22 );
+QUnit.test("jQuery.parseHTML", function( assert ) {
+       expect( 17 );
 
        var html, nodes;
 
-       assert.deepEqual( jQuery.parseHTML(), [], "Without arguments" );
-       assert.deepEqual( jQuery.parseHTML( undefined ), [], "Undefined" );
-       assert.deepEqual( jQuery.parseHTML( null ), [], "Null" );
-       assert.deepEqual( jQuery.parseHTML( false ), [], "Boolean false" );
-       assert.deepEqual( jQuery.parseHTML( 0 ), [], "Zero" );
-       assert.deepEqual( jQuery.parseHTML( true ), [], "Boolean true" );
-       assert.deepEqual( jQuery.parseHTML( 42 ), [], "Positive number" );
-       assert.deepEqual( jQuery.parseHTML( "" ), [], "Empty string" );
-       assert.throws( function() {
-               jQuery.parseHTML( "<div></div>", document.getElementById( "form" ) );
-       }, "Passing an element as the context raises an exception (context should be a document)" );
+       equal( jQuery.parseHTML(), null, "Nothing in, null out." );
+       equal( jQuery.parseHTML( null ), null, "Null in, null out." );
+       equal( jQuery.parseHTML( "" ), null, "Empty string in, null out." );
+       throws(function() {
+               jQuery.parseHTML( "<div></div>", document.getElementById("form") );
+       }, "Passing an element as the context raises an exception (context should be a document)");
 
-       nodes = jQuery.parseHTML( jQuery( "body" )[ 0 ].innerHTML );
-       assert.ok( nodes.length > 4, "Parse a large html string" );
-       assert.equal( jQuery.type( nodes ), "array", "parseHTML returns an array rather than a nodelist" );
+       nodes = jQuery.parseHTML( jQuery("body")[0].innerHTML );
+       ok( nodes.length > 4, "Parse a large html string" );
+       equal( jQuery.type( nodes ), "array", "parseHTML returns an array rather than a nodelist" );
 
        html = "<script>undefined()</script>";
        assert.equal( jQuery.parseHTML( html ).length, 0, "Ignore scripts by default" );