Skip to content
Permalink
Browse files

Revert portions of 7acb141 that attempt to use a function to hide jQu…

…ery metadata from JSON.stringify since this does not work reliably cross-browser (fails in Fx3.5, O11, Saf4).
  • Loading branch information
csnover committed Feb 8, 2011
1 parent b46dff3 commit d92dc2902c1e49642ce5148f7e082d880e77a2c5
Showing with 3 additions and 16 deletions.
  1. +1 −3 src/data.js
  2. +2 −13 test/unit/data.js
@@ -63,9 +63,7 @@ jQuery.extend({
}

if ( !cache[ id ] ) {
// Use a Function as the cache object instead of an Object on JS objects
// as a hack to prevent JSON.stringify from serializing it (#8108)
cache[ id ] = isNode ? {} : function () {};
cache[ id ] = {};
}

// An object can be passed to jQuery.data instead of a key/value pair; this gets
@@ -22,7 +22,7 @@ function dataTests (elem) {
strictEqual( jQuery.hasData(elem), false, "jQuery.hasData agrees no data exists initially" );

var dataObj = jQuery.data(elem);
equals( typeof dataObj, elem.nodeType ? "object" : "function", "Calling data with no args gives us a data object reference" );
equals( typeof dataObj, "object", "Calling data with no args gives us a data object reference" );
strictEqual( jQuery.data(elem), dataObj, "Calling jQuery.data returns the same data object when called multiple times" );

strictEqual( jQuery.hasData(elem), false, "jQuery.hasData agrees no data exists even when an empty data obj exists" );
@@ -465,15 +465,4 @@ test(".removeData()", function() {

div.removeData("test.foo");
equals( div.data("test.foo"), undefined, "Make sure data is intact" );
});

if (window.JSON && window.JSON.stringify) {
test("JSON serialization (#8108)", function () {
expect(1);

var obj = { foo: "bar" };
jQuery.data(obj, "hidden", true);

equals( JSON.stringify(obj), '{"foo":"bar"}', "Expando is hidden from JSON.stringify" );
});
}
});

0 comments on commit d92dc29

Please sign in to comment.
You can’t perform that action at this time.