function testText( valueObj ) {
- expect( 4 );
+ expect( 7 );
- var val, j;
+ var val, j, expected, $multipleElements, $parentDiv, $childDiv;
val = valueObj("<div><b>Hello</b> cruel world!</div>");
equal( jQuery("#foo").text(val)[ 0 ].innerHTML.replace(/>/g, ">"), "<div><b>Hello</b> cruel world!</div>", "Check escaped text" );
// Blackberry 4.6 doesn't maintain comments in the DOM
equal( jQuery("#nonnodes")[ 0 ].childNodes.length < 3 ? 8 : j[ 2 ].nodeType, 8, "Check node,textnode,comment with text()" );
+
+ // Update multiple elements #11809
+ expected = "New";
+
+ $multipleElements = jQuery( "<div>Hello</div>" ).add( "<div>World</div>" );
+ $multipleElements.text( expected );
+
+ equal( $multipleElements.eq(0).text(), expected, "text() updates multiple elements (#11809)" );
+ equal( $multipleElements.eq(1).text(), expected, "text() updates multiple elements (#11809)" );
+
+ // Prevent memory leaks #11809
+ $childDiv = jQuery( "<div/>" );
+ $childDiv.data("leak", true);
+ $parentDiv = jQuery( "<div/>" );
+ $parentDiv.append( $childDiv );
+ $parentDiv.text("Dry off");
+
+ equal( $childDiv.data("leak"), undefined, "Check for leaks (#11809)" );
}
test( "text(String)", function() {