}
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
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" );
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" );
- });
-}
\ No newline at end of file
+});
\ No newline at end of file