From ad3c49d1b664d282b1e38b2012a0818f0595d2a5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Sat, 3 May 2008 01:39:27 +0000 Subject: [PATCH] core: Fixed #2605: .data() now accepts null as a value. --- src/core.js | 2 +- test/unit/core.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core.js b/src/core.js index c3cd3d8..b6bdc1d 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 7ec8258..e6321a6 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() { -- 1.7.10.4