Commit dec2804c authored by Richard Gibson's avatar Richard Gibson Committed by Dave Methvin

Fix #11359: preserve contents for cloned scripts

parent f3656832
...@@ -456,6 +456,10 @@ function cloneFixAttributes( src, dest ) { ...@@ -456,6 +456,10 @@ function cloneFixAttributes( src, dest ) {
// cloning other types of input fields // cloning other types of input fields
} else if ( nodeName === "input" || nodeName === "textarea" ) { } else if ( nodeName === "input" || nodeName === "textarea" ) {
dest.defaultValue = src.defaultValue; dest.defaultValue = src.defaultValue;
// IE blanks contents when cloning scripts
} else if ( nodeName === "script" && dest.text !== src.text ) {
dest.text = src.text;
} }
// Event data gets referenced instead of copied if the expando // Event data gets referenced instead of copied if the expando
......
...@@ -1169,6 +1169,15 @@ test("clone()", function() { ...@@ -1169,6 +1169,15 @@ test("clone()", function() {
equal( jQuery("body").clone().children()[0].id, "qunit-header", "Make sure cloning body works" ); equal( jQuery("body").clone().children()[0].id, "qunit-header", "Make sure cloning body works" );
}); });
test("clone(script type=non-javascript) (#11359)", function() {
expect(3);
var src = jQuery("<script type='text/filler'>Lorem ipsum dolor sit amet</script><q><script type='text/filler'>consectetur adipiscing elit</script></q>");
var dest = src.clone();
equal( dest[0].text, "Lorem ipsum dolor sit amet", "Cloning preserves script text" );
equal( dest.last().html(), src.last().html(), "Cloning preserves nested script text" );
ok( /^\s*<scr.pt\s+type=['"]?text\/filler['"]?\s*>consectetur adipiscing elit<\/scr.pt>\s*$/i.test( dest.last().html() ), "Cloning preserves nested script text" );
});
test("clone(form element) (Bug #3879, #6655)", function() { test("clone(form element) (Bug #3879, #6655)", function() {
expect(5); expect(5);
var element = jQuery("<select><option>Foo</option><option selected>Bar</option></select>"); var element = jQuery("<select><option>Foo</option><option selected>Bar</option></select>");
......
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