aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Methvin <dave.methvin@gmail.com>2011-02-15 22:41:08 -0500
committerAnton M <obhvsbypqghgc@gmail.com>2011-02-17 17:09:56 +0100
commitb9f5e2b97458f89cbcac3a333ba95b0eac568d49 (patch)
tree6ce6be303de0266c364ee8cecc612647bd0ef482
parent5b38439011799ae53156d137305d9440e0cddb0a (diff)
downloadjquery-b9f5e2b97458f89cbcac3a333ba95b0eac568d49.tar.gz
jquery-b9f5e2b97458f89cbcac3a333ba95b0eac568d49.zip
Only perpetrate the .toJSON hack on data caches when they are attached to a plain Javascript object. Part of the continuing saga of #8108.
-rw-r--r--src/data.js11
-rw-r--r--test/unit/data.js6
2 files changed, 10 insertions, 7 deletions
diff --git a/src/data.js b/src/data.js
index 6efe7b01d..2d53a7104 100644
--- a/src/data.js
+++ b/src/data.js
@@ -68,7 +68,9 @@ jQuery.extend({
// TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery
// metadata on plain JS objects when the object is serialized using
// JSON.stringify
- cache[ id ].toJSON = jQuery.noop;
+ if ( !isNode ) {
+ cache[ id ].toJSON = jQuery.noop;
+ }
}
// An object can be passed to jQuery.data instead of a key/value pair; this gets
@@ -168,6 +170,13 @@ jQuery.extend({
// data if it existed
if ( internalCache ) {
cache[ id ] = {};
+ // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery
+ // metadata on plain JS objects when the object is serialized using
+ // JSON.stringify
+ if ( !isNode ) {
+ cache[ id ].toJSON = jQuery.noop;
+ }
+
cache[ id ][ internalKey ] = internalCache;
// Otherwise, we need to eliminate the expando on the node to avoid
diff --git a/test/unit/data.js b/test/unit/data.js
index c6ef843a1..8fb7f35ad 100644
--- a/test/unit/data.js
+++ b/test/unit/data.js
@@ -338,18 +338,12 @@ 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");