summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/JSON/parse-syntax-errors-02.js
blob: b304e07ca02ce0c2de37d7afc709a8974209998e (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
testJSON('"Unterminated string literal', true);
testJSON('["Unclosed array"', true);
testJSON('{unquoted_key: "keys must be quoted"}', true);
testJSON('["extra comma",]', true);
testJSON('["double extra comma",,]', true);
testJSON('[   , "<-- missing value"]', true);
testJSON('["Comma after the close"],', true);
testJSON('["Extra close"]]', true);
testJSON('{"Extra comma": true,}', true);
testJSON('{"Extra value after close": true} "misplaced quoted value"', true);
testJSON('{"Illegal expression": 1 + 2}', true);
testJSON('{"Illegal invocation": alert()}', true);
testJSON('{"Numbers cannot be hex": 0x14}', true);
testJSON('["Illegal backslash escape: \\x15"]', true);
testJSON('[\\naked]', true);
testJSON('["Illegal backslash escape: \\017"]', true);
testJSON('{"Missing colon" null}', true);
testJSON('{"Double colon":: null}', true);
testJSON('{"Comma instead of colon", null}', true);
testJSON('["Colon instead of comma": false]', true);
testJSON('["Bad value", truth]', true);
testJSON("['single quote']", true);
testJSON('["	tab	character	in	string	"]', true);
testJSON('["tab\\   character\\   in\\  string\\  "]', true);
testJSON('["line\rbreak"]', true);
testJSON('["line\nbreak"]', true);
testJSON('["line\r\nbreak"]', true);
testJSON('["line\\\rbreak"]', true);
testJSON('["line\\\nbreak"]', true);
testJSON('["line\\\r\nbreak"]', true);
testJSON('[0e]', true);
testJSON('[0e+]', true);
testJSON('[0e+-1]', true);
testJSON('{"Comma instead of closing brace": true,', true);
testJSON('["mismatch"}', true);
testJSON('0{', true);

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

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

print("Tests complete");