12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- load("test-common.js");
- try {
- assert(JSON.parse.length === 2);
- const properties = [
- ["5", 5],
- ["null", null],
- ["true", true],
- ["false", false],
- ['"test"', "test"],
- ['[1,2,"foo"]', [1, 2, "foo"]],
- ['{"foo":1,"bar":"baz"}', { foo: 1, bar: "baz" }],
- ];
- properties.forEach(testCase => {
- assertDeepEquals(JSON.parse(testCase[0]), testCase[1]);
- });
- let syntaxErrors = [
- undefined,
- NaN,
- -NaN,
- Infinity,
- -Infinity,
- '{ "foo" }',
- '{ foo: "bar" }',
- "[1,2,3,]",
- "[1,2,3, ]",
- '{ "foo": "bar",}',
- '{ "foo": "bar", }',
- ];
- syntaxErrors.forEach(error => assertThrowsError(() => {
- JSON.parse(error);
- }, {
- error: SyntaxError,
- }));
- console.log("PASS");
- } catch (e) {
- console.log("FAIL: " + e);
- }
|