X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fmanipulation.js;h=d1fd823b7a720dfc2dd03c38108ac8b91de61652;hb=f68b46d7abb54cdcd3d1ce1713bc989f992d1448;hp=41ce8bb16c5cc3d839bd46b89ecebe9e1100a820;hpb=8660ea1ab61dd16aec1ed24ec549c6258292b96a;p=jquery.git diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 41ce8bb..d1fd823 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -376,13 +376,23 @@ test("append(Function) with incoming value", function() { }); test("appendTo(String|Element|Array<Element>|jQuery)", function() { - expect(12); + expect(16); + var defaultText = 'Try them out:' jQuery('buga').appendTo('#first'); equals( jQuery("#first").text(), defaultText + 'buga', 'Check if text appending works' ); equals( jQuery('').appendTo('#select3').parent().find('option:last-child').attr('value'), 'appendTest', 'Appending html options to select element'); reset(); + var l = jQuery("#first").children().length + 2; + jQuery("test"); + jQuery("test"); + jQuery([ jQuery("test")[0], jQuery("test")[0] ]) + .appendTo("#first"); + equals( jQuery("#first").children().length, l, "Make sure the elements were inserted." ); + equals( jQuery("#first").children().last()[0].nodeName.toLowerCase(), "strong", "Verify the last element." ); + + reset(); var expected = "This link has class=\"blog\": Simon Willison's WeblogTry them out:"; jQuery(document.getElementById('first')).appendTo('#sap'); equals( expected, jQuery('#sap').text(), "Check for appending of element" ); @@ -424,6 +434,20 @@ test("appendTo(String|Element|Array<Element>|jQuery)", function() { ok( jQuery("#moretests div:last").hasClass("test"), "appendTo element was modified after the insertion" ); reset(); + + div = jQuery("
"); + jQuery("ab").filter("span").appendTo( div ); + + equals( div.children().length, 1, "Make sure the right number of children were inserted." ); + + div = jQuery("#moretests div"); + + var num = jQuery("#main div").length; + div.remove().appendTo("#main"); + + equals( jQuery("#main div").length, num, "Make sure all the removed divs were inserted." ); + + reset(); }); var testPrepend = function(val) { @@ -736,7 +760,17 @@ test("replaceWith(Function)", function() { }); reset(); -}) +}); + +test("replaceWith(string) for more than one element", function(){ + expect(3); + + equals(jQuery('#foo p').length, 3, 'ensuring that test data has not changed'); + + jQuery('#foo p').replaceWith('bar'); + equals(jQuery('#foo span').length, 3, 'verify that all the three original element have been replaced'); + equals(jQuery('#foo p').length, 0, 'verify that all the three original element have been replaced'); +}); test("replaceAll(String|Element|Array<Element>|jQuery)", function() { expect(10); @@ -841,7 +875,7 @@ test("clone() on XML nodes", function() { } var testHtml = function(valueObj) { - expect(24); + expect(31); jQuery.scriptorder = 0; @@ -858,6 +892,15 @@ var testHtml = function(valueObj) { equals( div.children().length, 2, "Make sure two child nodes exist." ); equals( div.children().children().length, 1, "Make sure that a grandchild exists." ); + var space = jQuery("
").html(valueObj(" "))[0].innerHTML; + ok( /^\s$|^ $/.test( space ), "Make sure entities are passed through correctly." ); + equals( jQuery("
").html(valueObj("&"))[0].innerHTML, "&", "Make sure entities are passed through correctly." ); + + jQuery("#main").html(valueObj("")); + + equals( jQuery("#main").children().length, 1, "Make sure there is a child element." ); + equals( jQuery("#main").children()[0].nodeName.toUpperCase(), "STYLE", "And that a style element was inserted." ); + reset(); // using contents will get comments regular, text, and comment nodes var j = jQuery("#nonnodes").contents(); @@ -889,16 +932,15 @@ var testHtml = function(valueObj) { jQuery("#main").html(valueObj('
')); - stop(); + jQuery("#main").html(valueObj("")); + jQuery("#main").html(valueObj("")); + jQuery("#main").html(valueObj("")); jQuery("#main").html(valueObj('')); jQuery("#main").html(valueObj('foo
')); - // it was decided that waiting to execute ALL scripts makes sense since nested ones have to wait anyway so this test case is changed, see #1959 jQuery("#main").html(valueObj("