core: Fixed #2605: .data() now accepts null as a value.

This commit is contained in:
Scott González 2008-05-03 01:39:27 +00:00
parent 35c68b4578
commit ad3c49d1b6
2 changed files with 6 additions and 2 deletions

View file

@ -669,7 +669,7 @@ jQuery.extend({
jQuery.cache[ id ] = {}; jQuery.cache[ id ] = {};
// Prevent overriding the named cache with undefined values // Prevent overriding the named cache with undefined values
if ( data != undefined ) if ( data !== undefined )
jQuery.cache[ id ][ name ] = data; jQuery.cache[ id ][ name ] = data;
// Return the named cache data, or the ID for the element // Return the named cache data, or the ID for the element

View file

@ -1398,13 +1398,17 @@ test("$.className", function() {
}); });
test("$.data", function() { test("$.data", function() {
expect(3); expect(5);
var div = $("#foo")[0]; var div = $("#foo")[0];
ok( jQuery.data(div, "test") == undefined, "Check for no data exists" ); ok( jQuery.data(div, "test") == undefined, "Check for no data exists" );
jQuery.data(div, "test", "success"); jQuery.data(div, "test", "success");
ok( jQuery.data(div, "test") == "success", "Check for added data" ); ok( jQuery.data(div, "test") == "success", "Check for added data" );
jQuery.data(div, "test", "overwritten"); jQuery.data(div, "test", "overwritten");
ok( jQuery.data(div, "test") == "overwritten", "Check for overwritten data" ); 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() { test(".data()", function() {