X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=3cb90aa7886b7be41fa13f487b7764151164faa5;hb=b0c7df65d0f92b77752e8f9b33898d0e3b2c05e8;hp=a5a59c3a1c0f4de05f654a214bb0ab90f844cb8a;hpb=d0fae71464427d9b9e29a5e3fa27729675bef95a;p=jquery.git
diff --git a/test/unit/core.js b/test/unit/core.js
index a5a59c3..3cb90aa 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -955,11 +955,23 @@ test("find(String)", function() {
});
test("clone()", function() {
- expect(4);
+ expect(20);
ok( 'This is a normal link: Yahoo' == $('#en').text(), 'Assert text for #en' );
var clone = $('#yahoo').clone();
ok( 'Try them out:Yahoo' == $('#first').append(clone).text(), 'Check for clone' );
ok( 'This is a normal link: Yahoo' == $('#en').text(), 'Reassert text for #en' );
+
+ var cloneTags = [
+ "
", "
", " | ", "",
+ "", "", "
", "",
+ "", "", "", "",
+ "", "", "", ""
+ ];
+ for (var i = 0; i < cloneTags.length; i++) {
+ var j = $(cloneTags[i]);
+ equals( j[0].tagName, j.clone()[0].tagName, 'Clone a <' + cloneTags[i].substring(1));
+ }
+
// using contents will get comments regular, text, and comment nodes
var cl = $("#nonnodes").contents().clone();
ok( cl.length >= 2, "Check node,textnode,comment clone works (some browsers delete comments on clone)" );
@@ -1385,6 +1397,52 @@ test("$.data", function() {
ok( jQuery.data(div, "test") == "overwritten", "Check for overwritten data" );
});
+test(".data()", function() {
+ expect(16);
+ var div = $("#foo");
+ ok( div.data("test") == undefined, "Check for no data exists" );
+ div.data("test", "success");
+ ok( div.data("test") == "success", "Check for added data" );
+ div.data("test", "overwritten");
+ ok( div.data("test") == "overwritten", "Check for overwritten data" );
+
+ var hits = {test:0}, gets = {test:0};
+
+ div
+ .bind("setData",function(e,key,value){ hits[key] += value; })
+ .bind("setData.foo",function(e,key,value){ hits[key] += value; })
+ .bind("getData",function(e,key){ gets[key] += 1; })
+ .bind("getData.foo",function(e,key){ gets[key] += 3; });
+
+ div.data("test.foo", 2);
+ ok( div.data("test") == "overwritten", "Check for original data" );
+ ok( div.data("test.foo") == 2, "Check for namespaced data" );
+ ok( div.data("test.bar") == "overwritten", "Check for unmatched namespace" );
+ equals( hits.test, 2, "Check triggered setter functions" );
+ equals( gets.test, 5, "Check triggered getter functions" );
+
+ hits.test = 0;
+ gets.test = 0;
+
+ div.data("test", 1);
+ ok( div.data("test") == 1, "Check for original data" );
+ ok( div.data("test.foo") == 2, "Check for namespaced data" );
+ ok( div.data("test.bar") == 1, "Check for unmatched namespace" );
+ equals( hits.test, 1, "Check triggered setter functions" );
+ equals( gets.test, 5, "Check triggered getter functions" );
+
+ hits.test = 0;
+ gets.test = 0;
+
+ div
+ .bind("getData",function(e,key){ return key + "root"; })
+ .bind("getData.foo",function(e,key){ return key + "foo"; });
+
+ ok( div.data("test") == "testroot", "Check for original data" );
+ ok( div.data("test.foo") == "testfoo", "Check for namespaced data" );
+ ok( div.data("test.bar") == "testroot", "Check for unmatched namespace" );
+});
+
test("$.removeData", function() {
expect(1);
var div = $("#foo")[0];
@@ -1393,6 +1451,27 @@ test("$.removeData", function() {
ok( jQuery.data(div, "test") == undefined, "Check removal of data" );
});
+test(".removeData()", function() {
+ expect(6);
+ var div = $("#foo");
+ div.data("test", "testing");
+ div.removeData("test");
+ ok( div.data("test") == undefined, "Check removal of data" );
+
+ div.data("test", "testing");
+ div.data("test.foo", "testing2");
+ div.removeData("test.bar");
+ ok( div.data("test.foo") == "testing2", "Make sure data is intact" );
+ ok( div.data("test") == "testing", "Make sure data is intact" );
+
+ div.removeData("test");
+ ok( div.data("test.foo") == "testing2", "Make sure data is intact" );
+ ok( div.data("test") == undefined, "Make sure data is intact" );
+
+ div.removeData("test.foo");
+ ok( div.data("test.foo") == undefined, "Make sure data is intact" );
+});
+
test("remove()", function() {
expect(6);
$("#ap").children().remove();