X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=6da62be9ad8385aecd43ac63ac0bfe898d1e6aa2;hb=a720bb31ab32c5629607a471e4674fd11e05b97c;hp=aec334e52b053d2639330d7974b311d7b6e06948;hpb=28a1f022233585cf40ae727d7d8334665a495e61;p=jquery.git
diff --git a/test/unit/core.js b/test/unit/core.js
index aec334e..6da62be 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -1156,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' );
@@ -1176,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) {
@@ -1557,7 +1582,7 @@ test("addClass(String)", function() {
});
test("removeClass(String) - simple", function() {
- expect(4);
+ expect(5);
var $divs = jQuery('div');
@@ -1566,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" );