diff --git a/src/core.js b/src/core.js index c3cd3d8e..b6bdc1d0 100644 --- a/src/core.js +++ b/src/core.js @@ -669,7 +669,7 @@ jQuery.extend({ jQuery.cache[ id ] = {}; // Prevent overriding the named cache with undefined values - if ( data != undefined ) + if ( data !== undefined ) jQuery.cache[ id ][ name ] = data; // Return the named cache data, or the ID for the element diff --git a/test/unit/core.js b/test/unit/core.js index 7ec82583..e6321a64 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1398,13 +1398,17 @@ 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() {