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");