summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/JSON/stringify-nonarray-noncallable-replacer.js
blob: 440fbc0aae153e4cf953936dbcf5930e1bd6a708 (plain)
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");