X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fmanipulation.js;h=00984168ca385de088031b221f029fc9128687fa;hb=513053d62ba86ca6ab1f4646fdac3ec6819b2db9;hp=49d717f5a42abd26e392e499114c2fea40cedf5e;hpb=b539b6e1d99892b5b37f7eac938331cfd2ebcd51;p=jquery.git diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 49d717f..0098416 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -116,6 +116,37 @@ test("wrapInner(String|Element)", function() { // testWrapInner(functionReturningObj) // }) +var testUnwrap = function() { + expect(9); + + jQuery("body").append(' '); + + var abcd = jQuery('#unwrap1 > span, #unwrap2 > span').get(), + abcdef = jQuery('#unwrap span').get(); + + equals( jQuery('#unwrap1 span, #unwrap2 span:first').unwrap().length, 3, 'make #unwrap1 and #unwrap2 go away' ); + same( jQuery('#unwrap > span').get(), abcd, 'all four spans should still exist' ); + + same( jQuery('#unwrap3 span').unwrap().get(), jQuery('#unwrap3 > span').get(), 'make all b in #unwrap3 go away' ); + + same( jQuery('#unwrap3 span').unwrap().get(), jQuery('#unwrap > span.unwrap3').get(), 'make #unwrap3 go away' ); + + same( jQuery('#unwrap').children().get(), abcdef, '#unwrap only contains 6 child spans' ); + + same( jQuery('#unwrap > span').unwrap().get(), jQuery('body > span.unwrap').get(), 'make the 6 spans become children of body' ); + + same( jQuery('body > span.unwrap').unwrap().get(), jQuery('body > span.unwrap').get(), 'can\'t unwrap children of body' ); + same( jQuery('body > span.unwrap').unwrap().get(), abcdef, 'can\'t unwrap children of body' ); + + same( jQuery('body > span.unwrap').get(), abcdef, 'body contains 6 .unwrap child spans' ); + + jQuery('body > span.unwrap').remove(); +} + +test("unwrap()", function() { + testUnwrap(); +}); + var testAppend = function(valueObj) { expect(21); var defaultText = 'Try them out:' @@ -320,7 +351,7 @@ test("prependTo(String|Element|Array<Element>|jQuery)", function() { }); var testBefore = function(val) { - expect(4); + expect(6); var expected = 'This is a normal link: bugaYahoo'; jQuery('#yahoo').before(val( 'buga' )); equals( expected, jQuery('#en').text(), 'Insert String before' ); @@ -339,6 +370,10 @@ var testBefore = function(val) { expected = "This is a normal link: diveintomarkTry them out:Yahoo"; jQuery('#yahoo').before(val( jQuery("#first, #mark") )); equals( expected, jQuery('#en').text(), "Insert jQuery before" ); + + var set = jQuery("
").before("test"); + equals( set[0].nodeName.toLowerCase(), "span", "Insert the element before the disconnected node." ); + equals( set.length, 2, "Insert the element before the disconnected node." ); } test("before(String|Element|Array<Element>|jQuery)", function() { @@ -372,7 +407,7 @@ test("insertBefore(String|Element|Array<Element>|jQuery)", function() { }); var testAfter = function(val) { - expect(4); + expect(6); var expected = 'This is a normal link: Yahoobuga'; jQuery('#yahoo').after(val( 'buga' )); equals( expected, jQuery('#en').text(), 'Insert String after' ); @@ -391,6 +426,10 @@ var testAfter = function(val) { expected = "This is a normal link: YahoodiveintomarkTry them out:"; jQuery('#yahoo').after(val( jQuery("#first, #mark") )); equals( expected, jQuery('#en').text(), "Insert jQuery after" ); + + var set = jQuery("
").after("test"); + equals( set[1].nodeName.toLowerCase(), "span", "Insert the element after the disconnected node." ); + equals( set.length, 2, "Insert the element after the disconnected node." ); }; test("after(String|Element|Array<Element>|jQuery)", function() { @@ -424,7 +463,7 @@ test("insertAfter(String|Element|Array<Element>|jQuery)", function() { }); var testReplaceWith = function(val) { - expect(10); + expect(12); jQuery('#yahoo').replaceWith(val( 'buga' )); ok( jQuery("#replace")[0], 'Replace element with string' ); ok( !jQuery("#yahoo")[0], 'Verify that original element is gone, after string' ); @@ -445,6 +484,10 @@ var testReplaceWith = function(val) { ok( jQuery("#first")[0], 'Replace element with set of elements' ); ok( jQuery("#mark")[0], 'Replace element with set of elements' ); ok( !jQuery("#yahoo")[0], 'Verify that original element is gone, after set of elements' ); + + var set = jQuery("
").replaceWith(val("test")); + equals( set[0].nodeName.toLowerCase(), "span", "Replace the disconnected node." ); + equals( set.length, 1, "Replace the disconnected node." ); } test("replaceWith(String|Element|Array<Element>|jQuery)", function() { @@ -559,7 +602,7 @@ test("val()", function() { equals( jQuery('#select2').val(), '3', 'Call val() on a single="single" select' ); - isSet( jQuery('#select3').val(), ['1', '2'], 'Call val() on a multiple="multiple" select' ); + same( jQuery('#select3').val(), ['1', '2'], 'Call val() on a multiple="multiple" select' ); equals( jQuery('#option3c').val(), '2', 'Call val() on a option element with value' ); @@ -614,7 +657,7 @@ var testHtml = function(valueObj) { } ok( pass, "Set HTML" ); - window.debug = false; + delete window.debug; reset(); // using contents will get comments regular, text, and comment nodes