X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=sidebyside;f=test%2Funit%2Fcore.js;h=9f46dd4d4d2227e699b3224dd0ed3b4f2f009b0f;hb=f8698395acbe428bd7c3dd6dd5700a0c660deeab;hp=053803cd41f5a04daef38e2ecec4444b28c2dfbf;hpb=f54d277df4a48173c5e53f3223d0e0d86a9bb6ac;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 053803c..9f46dd4 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1025,7 +1025,7 @@ test("is(String)", function() { }); test("$.extend(Object, Object)", function() { - expect(17); + expect(20); var settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" }, options = { xnumber2: 1, xstring2: "x", xxx: "newstring" }, @@ -1049,7 +1049,17 @@ test("$.extend(Object, Object)", function() { isObj( deep1.foo, deepmerged.foo, "Check if foo: settings must be extended" ); isObj( deep2.foo, deep2copy.foo, "Check if not deep2: options must not be modified" ); equals( deep1.foo2, document, "Make sure that a deep clone was not attempted on the document" ); - + + var nullUndef; + nullUndef = jQuery.extend({}, options, { xnumber2: null }); + ok( nullUndef.xnumber2 === null, "Check to make sure null values are copied"); + + nullUndef = jQuery.extend({}, options, { xnumber2: undefined }); + ok( nullUndef.xnumber2 === options.xnumber2, "Check to make sure undefined values are not copied"); + + nullUndef = jQuery.extend({}, options, { xnumber0: null }); + ok( nullUndef.xnumber0 === null, "Check to make sure null values are inserted"); + var target = {}; var recursive = { foo:target, bar:5 }; jQuery.extend(true, target, recursive); @@ -1388,26 +1398,35 @@ test("$.className", function() { }); test("$.data", function() { - expect(3); + expect(5); var div = $("#foo")[0]; ok( jQuery.data(div, "test") == undefined, "Check for no data exists" ); jQuery.data(div, "test", "success"); ok( jQuery.data(div, "test") == "success", "Check for added data" ); jQuery.data(div, "test", "overwritten"); ok( jQuery.data(div, "test") == "overwritten", "Check for overwritten data" ); + jQuery.data(div, "test", undefined); + ok( jQuery.data(div, "test") == "overwritten", "Check that data wasn't removed"); + jQuery.data(div, "test", null); + ok( jQuery.data(div, "test") === null, "Check for null data"); }); test(".data()", function() { - expect(16); + expect(18); 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" ); - + div.data("test", undefined); + ok( div.data("test") == "overwritten", "Check that data wasn't removed"); + div.data("test", null); + ok( div.data("test") === null, "Check for null data"); + + div.data("test", "overwritten"); 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; })