X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=test%2Funit%2Fcore.js;h=3cb90aa7886b7be41fa13f487b7764151164faa5;hb=2c07690377522119891784ec11c89e87f0a12545;hp=80e92e6bec958a4056c64087ab807f78956b3fe7;hpb=77da94552e94925e990d058ed81419d0835747ce;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 80e92e6..3cb90aa 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1398,7 +1398,7 @@ test("$.data", function() { }); test(".data()", function() { - expect(11); + expect(16); var div = $("#foo"); ok( div.data("test") == undefined, "Check for no data exists" ); div.data("test", "success"); @@ -1406,25 +1406,41 @@ test(".data()", function() { div.data("test", "overwritten"); ok( div.data("test") == "overwritten", "Check for overwritten data" ); - var hits = 0; + var hits = {test:0}, gets = {test:0}; div - .bind("set-test",function(){ hits += 1; }) - .bind("set-test.foo",function(){ hits += 2; }) + .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", "foodata"); + div.data("test.foo", 2); ok( div.data("test") == "overwritten", "Check for original data" ); - ok( div.data("test.foo") == "foodata", "Check for namespaced data" ); + ok( div.data("test.foo") == 2, "Check for namespaced data" ); ok( div.data("test.bar") == "overwritten", "Check for unmatched namespace" ); - ok( hits == 2, "Check triggered functions" ); + 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 = 0; + hits.test = 0; + gets.test = 0; + + div + .bind("getData",function(e,key){ return key + "root"; }) + .bind("getData.foo",function(e,key){ return key + "foo"; }); - div.data("test", "overwritten2"); - ok( div.data("test") == "overwritten2", "Check for original data" ); - ok( div.data("test.foo") == "foodata", "Check for namespaced data" ); - ok( div.data("test.bar") == "overwritten2", "Check for unmatched namespace" ); - ok( hits == 1, "Check triggered functions" ); + 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() {