X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=6da62be9ad8385aecd43ac63ac0bfe898d1e6aa2;hb=9aa0c69c43bad9fce5ef7732692308afb2a38ec6;hp=c8c7cad7ad5371e80f9f8a42466cb6fb2d04e528;hpb=4e7d565e50b4705f1daed7100937591330af34c4;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index c8c7cad..6da62be 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -53,7 +53,7 @@ test("jQuery()", function() { }); test("selector state", function() { - expect(28); + expect(30); var test; @@ -72,6 +72,10 @@ test("selector state", function() { test = jQuery("#main"); equals( test.selector, "#main", "#main Selector" ); equals( test.context, document, "#main Context" ); + + test = jQuery("#notfoundnono"); + equals( test.selector, "#notfoundnono", "#notfoundnono Selector" ); + equals( test.context, document, "#notfoundnono Context" ); test = jQuery("#main", document); equals( test.selector, "#main", "#main Selector" ); @@ -1152,7 +1156,7 @@ test("find(String)", function() { }); test("clone()", function() { - expect(20); + expect(28); equals( 'This is a normal link: Yahoo', jQuery('#en').text(), 'Assert text for #en' ); var clone = jQuery('#yahoo').clone(); equals( 'Try them out:Yahoo', jQuery('#first').append(clone).text(), 'Check for clone' ); @@ -1172,6 +1176,31 @@ test("clone()", function() { // using contents will get comments regular, text, and comment nodes var cl = jQuery("#nonnodes").contents().clone(); ok( cl.length >= 2, "Check node,textnode,comment clone works (some browsers delete comments on clone)" ); + + var div = jQuery("
").click(function(){ + ok( true, "Bound event still exists." ); + }); + + div = div.clone(true).clone(true); + equals( div.length, 1, "One element cloned" ); + equals( div[0].nodeName.toUpperCase(), "DIV", "DIV element cloned" ); + div.trigger("click"); + + div = jQuery("
").append([ document.createElement("table"), document.createElement("table") ]); + div.find("table").click(function(){ + ok( true, "Bound event still exists." ); + }); + + div = div.clone(true); + equals( div.length, 1, "One element cloned" ); + equals( div[0].nodeName.toUpperCase(), "DIV", "DIV element cloned" ); + div.find("table:last").trigger("click"); + + div = jQuery("
").html(' '); + + div = div.clone(true); + equals( div.length, 1, "One element cloned" ); + equals( div[0].nodeName.toUpperCase(), "DIV", "DIV element cloned" ); }); if (!isLocal) { @@ -1553,7 +1582,7 @@ test("addClass(String)", function() { }); test("removeClass(String) - simple", function() { - expect(4); + expect(5); var $divs = jQuery('div'); @@ -1562,13 +1591,17 @@ test("removeClass(String) - simple", function() { ok( !$divs.is('.test'), "Remove Class" ); reset(); - + $divs.addClass("test").addClass("foo").addClass("bar"); $divs.removeClass("test").removeClass("bar").removeClass("foo"); ok( !$divs.is('.test,.bar,.foo'), "Remove multiple classes" ); reset(); + + // Make sure that a null value doesn't cause problems + $divs.eq(0).addClass("test").removeClass(null); + ok( $divs.eq(0).is('.test'), "Null value passed to removeClass" ); $divs.eq(0).addClass("test").removeClass(""); ok( $divs.eq(0).is('.test'), "Empty string passed to removeClass" );