You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

31 lines
756 B

/*===
{"bar":2,"foo":1,"baz":4,"quux":3}
{"bar":2,"1":5,"foo":1}
===*/
/* E5.1 Section 15.12.13, main algorithm, step 4.b.ii.5 requires that an
* implementation detect duplicates in the property list and refuse to
* serialize the same property name twice.
*
* Note: both V8 and Rhino fail this test (but in different ways).
*/
function dupTest1() {
var obj = { foo: 1, bar: 2, quux: 3, baz: 4 };
print(JSON.stringify(obj, [ 'bar', 'foo', 'baz', 'baz', 'baz', 'quux' ]));
}
function dupTest2() {
var obj = { foo: 1, bar: 2, quux: 3, baz: 4, "1": 5 };
// dup check happens after coercion
print(JSON.stringify(obj, [ 'bar', 1, new Number(1), '1', 'foo' ]));
}
try {
dupTest1();
dupTest2();
} catch (e) {
print(e);
}