Commit 61bb6127 authored by Timo Tijhof's avatar Timo Tijhof Committed by Timmy Willison

Core: Return empty array instead of null for parseHTML("")

Fixes gh-1997
Close gh-1998

Conflicts:
	test/unit/core.js
parent 30ace26c
...@@ -14,8 +14,8 @@ define([ ...@@ -14,8 +14,8 @@ define([
// defaults to document // defaults to document
// keepScripts (optional): If true, will include scripts passed in the html string // keepScripts (optional): If true, will include scripts passed in the html string
jQuery.parseHTML = function( data, context, keepScripts ) { jQuery.parseHTML = function( data, context, keepScripts ) {
if ( !data || typeof data !== "string" ) { if ( typeof data !== "string" ) {
return null; return [];
} }
if ( typeof context === "boolean" ) { if ( typeof context === "boolean" ) {
keepScripts = context; keepScripts = context;
......
...@@ -1285,13 +1285,18 @@ test("jQuery.proxy", function(){ ...@@ -1285,13 +1285,18 @@ test("jQuery.proxy", function(){
}); });
test("jQuery.parseHTML", function() { test("jQuery.parseHTML", function() {
expect( 17 ); expect( 22 );
var html, nodes; var html, nodes;
equal( jQuery.parseHTML(), null, "Nothing in, null out." ); deepEqual( jQuery.parseHTML(), [], "Without arguments" );
equal( jQuery.parseHTML( null ), null, "Null in, null out." ); deepEqual( jQuery.parseHTML( undefined ), [], "Undefined" );
equal( jQuery.parseHTML( "" ), null, "Empty string in, null out." ); deepEqual( jQuery.parseHTML( null ), [], "Null" );
deepEqual( jQuery.parseHTML( false ), [], "Boolean false" );
deepEqual( jQuery.parseHTML( 0 ), [], "Zero" );
deepEqual( jQuery.parseHTML( true ), [], "Boolean true" );
deepEqual( jQuery.parseHTML( 42 ), [], "Positive number" );
deepEqual( jQuery.parseHTML( "" ), [], "Empty string" );
throws(function() { throws(function() {
jQuery.parseHTML( "<div></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)");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment