Skip to content

Commit

Permalink
Core: Make jQuery.isXMLDoc accept falsy input
Browse files Browse the repository at this point in the history
  • Loading branch information
mgol committed Sep 21, 2022
1 parent 4e7d618 commit 4364682
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -323,8 +323,8 @@ jQuery.extend( {
},

isXMLDoc: function( elem ) {
var namespace = elem.namespaceURI,
docElem = ( elem.ownerDocument || elem ).documentElement;
var namespace = elem && elem.namespaceURI,
docElem = elem && ( elem.ownerDocument || elem ).documentElement;

// Assume HTML when documentElement doesn't yet exist, such as inside
// document fragments.
Expand Down
10 changes: 10 additions & 0 deletions test/unit/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,16 @@ QUnit.test( "isXMLDoc - XML", function( assert ) {
assert.ok( jQuery.isXMLDoc( jQuery( "desc", svg )[ 0 ] ), "XML desc Element" );
} );

QUnit.test( "isXMLDoc - falsy", function( assert ) {
assert.expect( 5 );

assert.strictEqual( jQuery.isXMLDoc( undefined ), false, "undefined" );
assert.strictEqual( jQuery.isXMLDoc( null ), false, "null" );
assert.strictEqual( jQuery.isXMLDoc( false ), false, "false" );
assert.strictEqual( jQuery.isXMLDoc( 0 ), false, "0" );
assert.strictEqual( jQuery.isXMLDoc( "" ), false, "\"\"" );
} );

QUnit.test( "XSS via location.hash", function( assert ) {
var done = assert.async();
assert.expect( 1 );
Expand Down

0 comments on commit 4364682

Please sign in to comment.