X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fmanipulation.js;h=031bf5b720277db2656a7efd231e25ab3432c63e;hb=0474917c9d82fa13d865282d2da2d3cb6e5b89ec;hp=e387d640eba82b04fb7cf6270c67a92e1b2148a3;hpb=37b909de6948ebb704375626831bfc80bd31290c;p=jquery.git diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index e387d64..031bf5b 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -793,7 +793,7 @@ test("clone() on XML nodes", function() { } var testHtml = function(valueObj) { - expect(22); + expect(24); jQuery.scriptorder = 0; @@ -805,6 +805,11 @@ var testHtml = function(valueObj) { } ok( pass, "Set HTML" ); + div = jQuery("
").html( valueObj('
') ); + + equals( div.children().length, 2, "Make sure two child nodes exist." ); + equals( div.children().children().length, 1, "Make sure that a grandchild exists." ); + reset(); // using contents will get comments regular, text, and comment nodes var j = jQuery("#nonnodes").contents(); @@ -971,3 +976,79 @@ test("empty()", function() { equals( j.html(), "", "Check node,textnode,comment empty works" ); }); +test("jQuery.cleanData", function() { + expect(14); + + var type, pos, div, child; + + type = "remove"; + + // Should trigger 4 remove event + div = getDiv().remove(); + + // Should both do nothing + pos = "Outer"; + div.trigger("click"); + + pos = "Inner"; + div.children().trigger("click"); + + type = "empty"; + div = getDiv(); + child = div.children(); + + // Should trigger 2 remove event + div.empty(); + + // Should trigger 1 + pos = "Outer"; + div.trigger("click"); + + // Should do nothing + pos = "Inner"; + child.trigger("click"); + + // Should trigger 2 + div.remove(); + + type = "html"; + + div = getDiv(); + child = div.children(); + + // Should trigger 2 remove event + div.html("
"); + + // Should trigger 1 + pos = "Outer"; + div.trigger("click"); + + // Should do nothing + pos = "Inner"; + child.trigger("click"); + + // Should trigger 2 + div.remove(); + + function getDiv() { + var div = jQuery("
").click(function(){ + ok( true, type + " " + pos + " Click event fired." ); + }).focus(function(){ + ok( true, type + " " + pos + " Focus event fired." ); + }).find("div").click(function(){ + ok( false, type + " " + pos + " Click event fired." ); + }).focus(function(){ + ok( false, type + " " + pos + " Focus event fired." ); + }).end().appendTo("body"); + + div[0].detachEvent = div[0].removeEventListener = function(t){ + ok( true, type + " Outer " + t + " event unbound" ); + }; + + div[0].firstChild.detachEvent = div[0].firstChild.removeEventListener = function(t){ + ok( true, type + " Inner " + t + " event unbound" ); + }; + + return div; + } +});