aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisko Hevery2010-08-14 10:26:09 -0700
committerMisko Hevery2010-08-14 10:26:09 -0700
commit14fe8cff2dc8225217de6b5bc553f93308f9490b (patch)
tree23b131fdc9f23f450e913a57d432aee92f81987d
parent791b13d1618f0773f366738094df0b78f4bc20d8 (diff)
parent7159b30752f63ad8a127101cbc10d7e672ae1620 (diff)
downloadangular.js-14fe8cff2dc8225217de6b5bc553f93308f9490b.tar.bz2
Merge remote branch 'igor/master'
-rw-r--r--src/JSON.js2
-rw-r--r--test/JsonTest.js7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/JSON.js b/src/JSON.js
index 1e468e89..0311c317 100644
--- a/src/JSON.js
+++ b/src/JSON.js
@@ -70,7 +70,7 @@ function toJsonArray(buf, obj, pretty, stack){
var childPretty = pretty ? pretty + " " : false;
var keys = [];
for(var k in obj) {
- if (k.indexOf('$$') === 0 || obj[k] === undefined)
+ if (!obj.hasOwnProperty(k) || k.indexOf('$$') === 0 || obj[k] === undefined)
continue;
keys.push(k);
}
diff --git a/test/JsonTest.js b/test/JsonTest.js
index 4afb7743..d077c0df 100644
--- a/test/JsonTest.js
+++ b/test/JsonTest.js
@@ -74,6 +74,13 @@ JsonTest.prototype.testItShouldPreventRecursion = function () {
assertEquals('{"a":"b","recursion":RECURSION}', angular.toJson(obj));
};
+JsonTest.prototype.testItShouldSerializeOnlyOwnProperties = function() {
+ var parent = { p: 'p'};
+ var child = { c: 'c'};
+ child.__proto__ = parent;
+ assertEquals('{"c":"c"}', angular.toJson(child));
+}
+
JsonTest.prototype.testItShouldSerializeSameObjectsMultipleTimes = function () {
var obj = {a:'b'};
assertEquals('{"A":{"a":"b"},"B":{"a":"b"}}', angular.toJson({A:obj, B:obj}));