X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=3cb90aa7886b7be41fa13f487b7764151164faa5;hb=3e285bd60de63afe314971957a0547603bb74386;hp=7b0aad4ed2cc085c4fc81d3e3c694adade47cebf;hpb=1faed11e3c0752981d8b01e1272fb3a72272f966;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 7b0aad4..3cb90aa 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1397,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]; @@ -1405,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();