diff -r 000000000000 -r 6474c204b198 js/src/tests/ecma_5/JSON/parse-syntax-errors-02.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/tests/ecma_5/JSON/parse-syntax-errors-02.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,46 @@ +// Ported from dom/src/json/test/unit/test_decode.js and +// dom/src/json/test/unit/fail[1 to 34, minus 13].json + +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");