Skip to content

Commit

Permalink
Core: Fix regression in jQuery.text() on HTMLDocument objects
Browse files Browse the repository at this point in the history
Fixes gh-5264
Closes gh-5265

(cherry picked from commit 44c56f8)
  • Loading branch information
Krinkle authored and mgol committed Jun 12, 2023
1 parent 338de35 commit a75d6b5
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
9 changes: 7 additions & 2 deletions src/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -271,9 +271,14 @@ jQuery.extend( {
// Do not traverse comment nodes
ret += jQuery.text( node );
}
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
}
if ( nodeType === 1 || nodeType === 11 ) {
return elem.textContent;
} else if ( nodeType === 3 || nodeType === 4 ) {
}
if ( nodeType === 9 ) {
return elem.documentElement.textContent;
}
if ( nodeType === 3 || nodeType === 4 ) {
return elem.nodeValue;
}

Expand Down
7 changes: 5 additions & 2 deletions test/unit/manipulation.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ function manipulationFunctionReturningObj( value ) {

QUnit.test( "text()", function( assert ) {

assert.expect( 5 );
assert.expect( 6 );

var expected, frag, $newLineTest;
var expected, frag, $newLineTest, doc;

expected = "This link has class=\"blog\": Simon Willison's Weblog";
assert.equal( jQuery( "#sap" ).text(), expected, "Check for merged text of more then one element." );
Expand All @@ -52,6 +52,9 @@ QUnit.test( "text()", function( assert ) {
assert.equal( $newLineTest.text(), "test\ntesty", "text() does not remove new lines (trac-11153)" );

$newLineTest.remove();

doc = new DOMParser().parseFromString( "<span>example</span>", "text/html" );
assert.equal( jQuery( doc ).text(), "example", "text() on HTMLDocument (gh-5264)" );
} );

QUnit.test( "text(undefined)", function( assert ) {
Expand Down

0 comments on commit a75d6b5

Please sign in to comment.