1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// Any copyright is dedicated to the Public Domain.
// http://creativecommons.org/licenses/publicdomain/
var gTestfile = 'stringify-nonarray-noncallable-replacer.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 653782;
var summary =
"Treat non-array, non-callable replacers as if none had been specified";
print(BUGNUMBER + ": " + summary);
/**************
* BEGIN TEST *
**************/
var obj = { p: 2 };
var str = '{"p":2}';
assertEq(JSON.stringify(obj), str);
assertEq(JSON.stringify(obj, ["p"]), str);
assertEq(JSON.stringify(obj, null), str);
assertEq(JSON.stringify(obj, undefined), str);
assertEq(JSON.stringify(obj, 2), str);
assertEq(JSON.stringify(obj, Math.PI), str);
assertEq(JSON.stringify(obj, NaN), str);
assertEq(JSON.stringify(obj, true), str);
assertEq(JSON.stringify(obj, false), str);
assertEq(JSON.stringify(obj, Infinity), str);
assertEq(JSON.stringify(obj, "foopy"), str);
assertEq(JSON.stringify(obj, {}), str);
assertEq(JSON.stringify(obj, /abcd/), str);
assertEq(JSON.stringify(obj, new Boolean(true)), str);
assertEq(JSON.stringify(obj, new Number(42)), str);
assertEq(JSON.stringify(obj, new String("aequorin")), str);
/******************************************************************************/
if (typeof reportCompare === "function")
reportCompare(true, true);
print("Tests complete");
|