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:
parent
b46dff39c3
commit
d92dc2902c
|
@ -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" );
|
||||
|
@ -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" );
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue