X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fdata.js;h=c6ef843a12bdce2afc474e7b131479a2dff2ef44;hb=12c0e1a692aa045e9d3cf166a41748d7f5fe31cc;hp=455b923aaf89269285c09d87a58aaa3049db503d;hpb=d92dc2902c1e49642ce5148f7e082d880e77a2c5;p=jquery.git diff --git a/test/unit/data.js b/test/unit/data.js index 455b923..c6ef843 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -180,7 +180,13 @@ test(".data()", function() { var div = jQuery("#foo"); strictEqual( div.data("foo"), undefined, "Make sure that missing result is undefined" ); div.data("test", "success"); - same( div.data(), {test: "success"}, "data() get the entire data object" ); + + var dataObj = div.data(); + + // TODO: Remove this hack which was introduced in 1.5.1 + delete dataObj.toJSON; + + same( dataObj, {test: "success"}, "data() get the entire data object" ); strictEqual( div.data("foo"), undefined, "Make sure that missing result is still undefined" ); var nodiv = jQuery("#unfound"); @@ -189,7 +195,10 @@ test(".data()", function() { var obj = { foo: "bar" }; jQuery(obj).data("foo", "baz"); - var dataObj = jQuery.extend(true, {}, jQuery(obj).data()); + dataObj = jQuery.extend(true, {}, jQuery(obj).data()); + + // TODO: Remove this hack which was introduced for 1.5.1 + delete dataObj.toJSON; deepEqual( dataObj, { foo: "baz" }, "Retrieve data object from a wrapped JS object (#7524)" ); }); @@ -329,12 +338,18 @@ test("data-* attributes", function() { num++; } + // TODO: Remove this hack which was introduced for 1.5.1 + num--; + equals( num, check.length, "Make sure that the right number of properties came through." ); for ( var prop in obj2 ) { num2++; } + // TODO: Remove this hack which was introduced for 1.5.1 + num2--; + equals( num2, check.length, "Make sure that the right number of properties came through." ); child.attr("data-other", "newvalue"); @@ -465,4 +480,15 @@ test(".removeData()", function() { div.removeData("test.foo"); equals( div.data("test.foo"), undefined, "Make sure data is intact" ); -}); \ No newline at end of file +}); + +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