summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/JSON/parse-primitives.js
blob: 450e1a657759fe63749004c6ce5003a295f75ab1 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var x;

// check an empty object, just for sanity
var emptyObject = "{}";
x = JSON.parse(emptyObject);
assertEq(typeof x, "object");
assertEq(x instanceof Object, true);

x = JSON.parse(emptyObject);
assertEq(typeof x, "object");

// booleans and null
x = JSON.parse("true");
assertEq(x, true);

x = JSON.parse("true          ");
assertEq(x, true);

x = JSON.parse("false");
assertEq(x, false);

x = JSON.parse("           null           ");
assertEq(x, null);

// numbers
x = JSON.parse("1234567890");
assertEq(x, 1234567890);

x = JSON.parse("-9876.543210");
assertEq(x, -9876.543210);

x = JSON.parse("0.123456789e-12");
assertEq(x, 0.123456789e-12);

x = JSON.parse("1.234567890E+34");
assertEq(x, 1.234567890E+34);

x = JSON.parse("      23456789012E66          \r\r\r\r      \n\n\n\n ");
assertEq(x, 23456789012E66);

// strings
x = JSON.parse('"foo"');
assertEq(x, "foo");

x = JSON.parse('"\\r\\n"');
assertEq(x, "\r\n");

x = JSON.parse('  "\\uabcd\uef4A"');
assertEq(x, "\uabcd\uef4A");

x = JSON.parse('"\\uabcd"  ');
assertEq(x, "\uabcd");

x = JSON.parse('"\\f"');
assertEq(x, "\f");

/******************************************************************************/

if (typeof reportCompare === "function")
  reportCompare(true, true);

print("Tests complete");