blob: cb8d5ccb967d976333ce477d23f3786204e6345a [file] [log] [blame]
function assert(b) {
if (!b)
throw new Error;
}
assert(JSON.stringify(JSON.parse('[1337,42]', function (x, y) {
if (this instanceof Array) {
Object.defineProperty(this, '1', {value: Array.prototype});
return y;
}
return this;
})) === '{"":[1337,[]]}');
assert(JSON.stringify(JSON.parse('[0, 1]', function(x, y) {
this[1] = Array.prototype;
return y;
})) === '[0,[]]');
assert(JSON.stringify(JSON.parse('{"x":22, "y":44}', function(a, b) {
this.y = Array.prototype;
return b;
})) === '{"x":22,"y":[]}');
Array.prototype[0] = 42;
assert(JSON.stringify(JSON.parse('{"x":22, "y":44}', function(a, b) {
this.y = Array.prototype;
return b;
})) === '{"x":22,"y":[42]}');