Revert portions of 7acb141ed7 that attempt to use a function to hide jQuery metadata from JSON.stringify since this does not work reliably cross-browser (fails in Fx3.5, O11, Saf4).

This commit is contained in:
Colin Snover 2011-02-08 12:13:27 -06:00
parent b46dff39c3
commit d92dc2902c
2 changed files with 3 additions and 16 deletions

View file

@ -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

View file

@ -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" );
@ -466,14 +466,3 @@ 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" );
});
}