X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=inline;f=test%2Funit%2Fcore.js;h=9f46dd4d4d2227e699b3224dd0ed3b4f2f009b0f;hb=f8698395acbe428bd7c3dd6dd5700a0c660deeab;hp=90998bb528fc8cd8df423ec58d4173ebb94da344;hpb=5ca908d3b637a5d1e5c14b84d9a15653c3cb6d90;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 90998bb..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; }) @@ -1511,7 +1530,7 @@ test("slice()", function() { }); test("map()", function() { - expect(6); + expect(2);//expect(6); isSet( $("#ap").map(function(){ @@ -1529,6 +1548,8 @@ test("map()", function() { "Single Map" ); + return;//these haven't been accepted yet + //for #2616 var keys = $.map( {a:1,b:2}, function( v, k ){ return k;