diff options
Diffstat (limited to 'test/suite/ch15/15.12')
103 files changed, 2855 insertions, 2709 deletions
diff --git a/test/suite/ch15/15.12/15.12-0-1.js b/test/suite/ch15/15.12/15.12-0-1.js index 558ac4ac3..f0d2651f4 100644 --- a/test/suite/ch15/15.12/15.12-0-1.js +++ b/test/suite/ch15/15.12/15.12-0-1.js @@ -1,22 +1,22 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The name JSON must be bound to an object.
- * 4.2 calls out JSON as one of the built-in objects.
- *
- * @path ch15/15.12/15.12-0-1.js
- * @description JSON must be a built-in object
- */
-
-
-function testcase() {
- var o = JSON;
- if (typeof(o) === "object") {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The name JSON must be bound to an object. + 4.2 calls out JSON as one of the built-in objects. +description: JSON must be a built-in object +includes: [runTestCase.js] +---*/ + +function testcase() { + var o = JSON; + if (typeof(o) === "object") { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12-0-2.js b/test/suite/ch15/15.12/15.12-0-2.js index 97b8d4577..85a308052 100644 --- a/test/suite/ch15/15.12/15.12-0-2.js +++ b/test/suite/ch15/15.12/15.12-0-2.js @@ -1,28 +1,28 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The name JSON must be bound to an object, and must not support [[Construct]].
- * step 4 in 11.2.2 should throw a TypeError exception.
- *
- * @path ch15/15.12/15.12-0-2.js
- * @description JSON must not support the [[Construct]] method
- */
-
-
-function testcase() {
- var o = JSON;
-
- try {
- var j = new JSON();
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The name JSON must be bound to an object, and must not support [[Construct]]. + step 4 in 11.2.2 should throw a TypeError exception. +description: JSON must not support the [[Construct]] method +includes: [runTestCase.js] +---*/ + +function testcase() { + var o = JSON; + + try { + var j = new JSON(); + } + catch (e) { + if (e instanceof TypeError) { + return true; + } + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12-0-3.js b/test/suite/ch15/15.12/15.12-0-3.js index f1e291387..2fbbc341d 100644 --- a/test/suite/ch15/15.12/15.12-0-3.js +++ b/test/suite/ch15/15.12/15.12-0-3.js @@ -1,28 +1,28 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The name JSON must be bound to an object, and must not support [[Call]].
- * step 5 in 11.2.3 should throw a TypeError exception.
- *
- * @path ch15/15.12/15.12-0-3.js
- * @description JSON must not support the [[Call]] method
- */
-
-
-function testcase() {
- var o = JSON;
-
- try {
- var j = JSON();
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The name JSON must be bound to an object, and must not support [[Call]]. + step 5 in 11.2.3 should throw a TypeError exception. +description: JSON must not support the [[Call]] method +includes: [runTestCase.js] +---*/ + +function testcase() { + var o = JSON; + + try { + var j = JSON(); + } + catch (e) { + if (e instanceof TypeError) { + return true; + } + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12-0-4.js b/test/suite/ch15/15.12/15.12-0-4.js index fc0516c82..b2c82c185 100644 --- a/test/suite/ch15/15.12/15.12-0-4.js +++ b/test/suite/ch15/15.12/15.12-0-4.js @@ -1,29 +1,29 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The last paragraph in section 15 says "every other property described
- * in this section has the attribute {... [[Enumerable]] : false ...}
- * unless otherwise specified. This default applies to the properties on
- * JSON, and we should not be able to enumerate them.
- *
- * @path ch15/15.12/15.12-0-4.js
- * @description JSON object's properties must be non enumerable
- */
-
-
-function testcase() {
- var o = JSON;
- var i = 0;
- for (var p in o) {
- i++;
- }
-
- if (i === 0) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The last paragraph in section 15 says "every other property described + in this section has the attribute {... [[Enumerable]] : false ...} + unless otherwise specified. This default applies to the properties on + JSON, and we should not be able to enumerate them. +description: JSON object's properties must be non enumerable +includes: [runTestCase.js] +---*/ + +function testcase() { + var o = JSON; + var i = 0; + for (var p in o) { + i++; + } + + if (i === 0) { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js index 1e9ba28fd..ee774fe52 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js
- * @description The JSON lexical grammar treats whitespace as a token seperator
- */
-
-
-function testcase() {
-
- try {
- JSON.parse('12\t\r\n 34'); // should produce a syntax error as whitespace results in two tokens
- }
- catch (e) {
- if (e.name === 'SyntaxError') return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: The JSON lexical grammar treats whitespace as a token seperator +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + JSON.parse('12\t\r\n 34'); // should produce a syntax error as whitespace results in two tokens + } + catch (e) { + if (e.name === 'SyntaxError') return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js index a34bb3375..2da058e8b 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js @@ -1,21 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js
- * @description <VT> is not valid JSON whitespace as specified by the production JSONWhitespace.
- */
-
-
-function testcase() {
-
- try {
- JSON.parse('\u000b1234'); // should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + <VT> is not valid JSON whitespace as specified by the production + JSONWhitespace. +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + JSON.parse('\u000b1234'); // should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js index 727099e4c..22136d56e 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js @@ -1,21 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js
- * @description <FF> is not valid JSON whitespace as specified by the production JSONWhitespace.
- */
-
-
-function testcase() {
-
- try {
- JSON.parse('\u000c1234'); // should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + <FF> is not valid JSON whitespace as specified by the production + JSONWhitespace. +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + JSON.parse('\u000c1234'); // should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js index 15a533e8e..3c2457574 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js @@ -1,21 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js
- * @description <NBSP> is not valid JSON whitespace as specified by the production JSONWhitespace.
- */
-
-
-function testcase() {
-
- try {
- JSON.parse('\u00a01234'); // should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + <NBSP> is not valid JSON whitespace as specified by the production + JSONWhitespace. +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + JSON.parse('\u00a01234'); // should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js index 7d306f87d..33b65a267 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js @@ -1,21 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js
- * @description <ZWSPP> is not valid JSON whitespace as specified by the production JSONWhitespace.
- */
-
-
-function testcase() {
-
- try {
- JSON.parse('\u200b1234'); // should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + <ZWSPP> is not valid JSON whitespace as specified by the + production JSONWhitespace. +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + JSON.parse('\u200b1234'); // should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js index 9505cdb1a..4dde840e2 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js @@ -1,21 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js
- * @description <BOM> is not valid JSON whitespace as specified by the production JSONWhitespace.
- */
-
-
-function testcase() {
-
- try {
- JSON.parse('\ufeff1234'); // should produce a syntax error a
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + <BOM> is not valid JSON whitespace as specified by the production + JSONWhitespace. +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + JSON.parse('\ufeff1234'); // should produce a syntax error a + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js index 7d33a040f..36102b973 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js @@ -1,22 +1,24 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js
- * @description other category z spaces are not valid JSON whitespace as specified by the production JSONWhitespace.
- */
-
-
-function testcase() {
-
- try {
- // the following should produce a syntax error
- JSON.parse('\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u30001234');
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + other category z spaces are not valid JSON whitespace as specified + by the production JSONWhitespace. +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + // the following should produce a syntax error + JSON.parse('\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u30001234'); + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js index 503e664d7..0a4b4f214 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js @@ -1,21 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js
- * @description U+2028 and U+2029 are not valid JSON whitespace as specified by the production JSONWhitespace.
- */
-
-
-function testcase() {
-
- try {
- JSON.parse('\u2028\u20291234'); // should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + U+2028 and U+2029 are not valid JSON whitespace as specified by + the production JSONWhitespace. +includes: [runTestCase.js] +---*/ + +function testcase() { + + try { + JSON.parse('\u2028\u20291234'); // should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js index 93f4a377e..27b7ae9a3 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js
- * @description Whitespace characters can appear before/after any JSONtoken
- */
-
-
-function testcase() {
-
- JSON.parse('\t\r \n{\t\r \n'+
- '"property"\t\r \n:\t\r \n{\t\r \n}\t\r \n,\t\r \n' +
- '"prop2"\t\r \n:\t\r \n'+
- '[\t\r \ntrue\t\r \n,\t\r \nnull\t\r \n,123.456\t\r \n]'+
- '\t\r \n}\t\r \n'); // should JOSN parse without error
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: Whitespace characters can appear before/after any JSONtoken +includes: [runTestCase.js] +---*/ + +function testcase() { + + JSON.parse('\t\r \n{\t\r \n'+ + '"property"\t\r \n:\t\r \n{\t\r \n}\t\r \n,\t\r \n' + + '"prop2"\t\r \n:\t\r \n'+ + '[\t\r \ntrue\t\r \n,\t\r \nnull\t\r \n,123.456\t\r \n]'+ + '\t\r \n}\t\r \n'); // should JOSN parse without error + return true; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js index 3c82d72a9..65d1e6814 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js
- * @description The JSON lexical grammar treats <TAB> as a whitespace character
- */
-
-
-function testcase() {
- if (JSON.parse('\t1234')!==1234) return false; // <TAB> should be ignored
- try {
- JSON.parse('12\t34'); // <TAB> should produce a syntax error as whitespace results in two tokens
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: The JSON lexical grammar treats <TAB> as a whitespace character +includes: [runTestCase.js] +---*/ + +function testcase() { + if (JSON.parse('\t1234')!==1234) return false; // <TAB> should be ignored + try { + JSON.parse('12\t34'); // <TAB> should produce a syntax error as whitespace results in two tokens + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js index db9274467..0dafa198f 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js
- * @description The JSON lexical grammar treats <CR> as a whitespace character
- */
-
-
-function testcase() {
- if (JSON.parse('\r1234')!==1234) return false; // <cr> should be ignored
- try {
- JSON.parse('12\r34'); // <CR> should produce a syntax error as whitespace results in two tokens
- }
- catch (e) {
- if (e.name === 'SyntaxError') return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: The JSON lexical grammar treats <CR> as a whitespace character +includes: [runTestCase.js] +---*/ + +function testcase() { + if (JSON.parse('\r1234')!==1234) return false; // <cr> should be ignored + try { + JSON.parse('12\r34'); // <CR> should produce a syntax error as whitespace results in two tokens + } + catch (e) { + if (e.name === 'SyntaxError') return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js index 478c5159b..f53ce1929 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js
- * @description The JSON lexical grammar treats <LF> as a whitespace character
- */
-
-
-function testcase() {
- if (JSON.parse('\n1234')!==1234) return false; // <LF> should be ignored
- try {
- JSON.parse('12\n34'); // <LF> should produce a syntax error as whitespace results in two tokens
- }
- catch (e) {
- if (e.name === 'SyntaxError') return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: The JSON lexical grammar treats <LF> as a whitespace character +includes: [runTestCase.js] +---*/ + +function testcase() { + if (JSON.parse('\n1234')!==1234) return false; // <LF> should be ignored + try { + JSON.parse('12\n34'); // <LF> should produce a syntax error as whitespace results in two tokens + } + catch (e) { + if (e.name === 'SyntaxError') return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js index 846f73743..1b617675c 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js
- * @description The JSON lexical grammar treats <SP> as a whitespace character
- */
-
-
-function testcase() {
- if (JSON.parse(' 1234')!=1234) return false; // <SP> should be ignored
- try {
- JSON.parse('12 34'); // <SP> should produce a syntax error as whitespace results in two tokens
- }
- catch (e) {
- if (e.name === 'SyntaxError') return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: The JSON lexical grammar treats <SP> as a whitespace character +includes: [runTestCase.js] +---*/ + +function testcase() { + if (JSON.parse(' 1234')!=1234) return false; // <SP> should be ignored + try { + JSON.parse('12 34'); // <SP> should produce a syntax error as whitespace results in two tokens + } + catch (e) { + if (e.name === 'SyntaxError') return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js index fb659899f..06208e2e0 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js
- * @description JSONStrings can be written using double quotes
- */
-
-
-function testcase() {
- return JSON.parse('"abc"')==="abc";
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSONStrings can be written using double quotes +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"abc"')==="abc"; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js index 92f5a6bb1..69ce73ce1 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js @@ -1,19 +1,20 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js
- * @description A JSONString may not be delimited by single quotes
- */
-function testcase() {
- try {
- if (JSON.parse("'abc'") ==='abc') return false;
- }
- catch (e) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: A JSONString may not be delimited by single quotes +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + if (JSON.parse("'abc'") ==='abc') return false; + } + catch (e) { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js index 999874409..869057b0e 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js @@ -1,19 +1,20 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js
- * @description A JSONString may not be delimited by Uncode escaped quotes
- */
-function testcase() {
- try {
- if (JSON.parse("\\u0022abc\\u0022") ==='abc') return false;
- }
- catch (e) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: A JSONString may not be delimited by Uncode escaped quotes +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + if (JSON.parse("\\u0022abc\\u0022") ==='abc') return false; + } + catch (e) { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js index d4de78be9..f440dbce7 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js @@ -1,19 +1,20 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js
- * @description A JSONString must both begin and end with double quotes
- */
-function testcase() {
- try {
- if (JSON.parse('"ab'+"c'") ==='abc') return false;
- }
- catch (e) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: A JSONString must both begin and end with double quotes +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + if (JSON.parse('"ab'+"c'") ==='abc') return false; + } + catch (e) { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js index 2426de9b5..6ef3adbb7 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js
- * @description A JSONStrings can contain no JSONStringCharacters (Empty JSONStrings)
- */
-
-
-function testcase() {
- return JSON.parse('""')==="";
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSONStrings can contain no JSONStringCharacters (Empty + JSONStrings) +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('""')===""; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js index f1dfd81c9..26b5a1423 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js @@ -1,20 +1,22 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js
- * @description The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0000 thru U+0007
- */
-
-
-function testcase() {
- try {
- JSON.parse('"\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007"'); // invalid string characters should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammar does not allow a JSONStringCharacter to + be any of the Unicode characters U+0000 thru U+0007 +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + JSON.parse('"\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007"'); // invalid string characters should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js index e1a6db9b6..d563efa55 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js @@ -1,20 +1,22 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js
- * @description The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0008 thru U+000F
- */
-
-
-function testcase() {
- try {
- JSON.parse('"\u0008\u0009\u000a\u000b\u000c\u000d\u000e\u000f"'); // invalid string characters should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammar does not allow a JSONStringCharacter to + be any of the Unicode characters U+0008 thru U+000F +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + JSON.parse('"\u0008\u0009\u000a\u000b\u000c\u000d\u000e\u000f"'); // invalid string characters should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js index dd06226bb..559306f45 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js @@ -1,20 +1,22 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js
- * @description The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0010 thru U+0017
- */
-
-
-function testcase() {
- try {
- JSON.parse('"\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017"'); // invalid string characters should produce a syntax error
- }
- catch (e) {
- return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammar does not allow a JSONStringCharacter to + be any of the Unicode characters U+0010 thru U+0017 +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + JSON.parse('"\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017"'); // invalid string characters should produce a syntax error + } + catch (e) { + return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js index f5f48409c..2f2d1cbe1 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js @@ -1,20 +1,22 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js
- * @description The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0018 thru U+001F
- */
-
-
-function testcase() {
- try {
- JSON.parse('"\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f"'); // invalid string characters should produce a syntax error
- }
- catch (e) {
- if (e.name === 'SyntaxError') return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammar does not allow a JSONStringCharacter to + be any of the Unicode characters U+0018 thru U+001F +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + JSON.parse('"\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f"'); // invalid string characters should produce a syntax error + } + catch (e) { + if (e.name === 'SyntaxError') return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js index 4450bfd32..7563e5ba6 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js @@ -1,14 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js
- * @description The JSON lexical grammar allows Unicode escape sequences in a JSONString
- */
-function testcase() {
- return JSON.parse('"\\u0058"')==='X';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammar allows Unicode escape sequences in a + JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\u0058"')==='X'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js index 0b1838b4c..dd19388be 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js @@ -1,19 +1,22 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js
- * @description A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex characters
- */
-function testcase() {
- try {
- JSON.parse('"\\u005"')
- }
- catch (e) {
- return e.name==='SyntaxError'
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex + characters +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + JSON.parse('"\\u005"') + } + catch (e) { + return e.name==='SyntaxError' + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js index 34e9479d8..eb326c737 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js @@ -1,19 +1,22 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js
- * @description A JSONStringCharacter UnicodeEscape may not include any non=hex characters
- */
-function testcase() {
- try {
- JSON.parse('"\\u0X50"')
- }
- catch (e) {
- return e.name==='SyntaxError'
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSONStringCharacter UnicodeEscape may not include any non=hex + characters +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + JSON.parse('"\\u0X50"') + } + catch (e) { + return e.name==='SyntaxError' + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js index 70c91c101..6d3d73dc4 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js
- * @description The JSON lexical grammer allows '/' as a JSONEscapeCharacter after '' in a JSONString
- */
-
-
-function testcase() {
- return JSON.parse('"\\/"')==='/';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammer allows '/' as a JSONEscapeCharacter after + '' in a JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\/"')==='/'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js index 9b2c93bc0..b48eb0952 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js
- * @description The JSON lexical grammer allows '' as a JSONEscapeCharacter after '' in a JSONString
- */
-
-
-function testcase() {
- return JSON.parse('"\\\\"')==='\\';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammer allows '' as a JSONEscapeCharacter after + '' in a JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\\\"')==='\\'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js index 0f3b38930..375b6b2c4 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js
- * @description The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after '' in a JSONString
- */
-
-
-function testcase() {
- return JSON.parse('"\\b"')==='\b';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after + '' in a JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\b"')==='\b'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js index 8a9f169ff..a71f6bbc8 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js
- * @description The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after '' in a JSONString
- */
-
-
-function testcase() {
- return JSON.parse('"\\f"')==='\f';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after + '' in a JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\f"')==='\f'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js index e63743ad6..be8743fca 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js
- * @description The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after '' in a JSONString
- */
-
-
-function testcase() {
- return JSON.parse('"\\n"')==='\n';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after + '' in a JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\n"')==='\n'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js index 7f1c51777..c1668bd4e 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js
- * @description The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after '' in a JSONString
- */
-
-
-function testcase() {
- return JSON.parse('"\\r"')==='\r';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after + '' in a JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\r"')==='\r'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js index ed95c0f7b..c5c8b9fe1 100644 --- a/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js +++ b/test/suite/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js
- * @description The JSON lexical grammer allows 't' as a JSONEscapeCharacter after '' in a JSONString
- */
-
-
-function testcase() {
- return JSON.parse('"\\t"')==='\t';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + The JSON lexical grammer allows 't' as a JSONEscapeCharacter after + '' in a JSONString +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.parse('"\\t"')==='\t'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-0-1.js b/test/suite/ch15/15.12/15.12.2/15.12.2-0-1.js index 54867640d..aab230aab 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-0-1.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-0-1.js @@ -1,32 +1,30 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The name JSON must be bound to an object.
- *
- * Section 15 says that every built-in Function object described in this
- * section � whether as a constructor, an ordinary function, or both � has
- * a length property whose value is an integer. Unless otherwise specified,
- * this value is equal to the largest number of named arguments shown in
- * the section headings for the function description, including optional
- * parameters.
- *
- * This default applies to JSON.parse, and it must exist as a function
- * taking 2 parameters.
- *
- * @path ch15/15.12/15.12.2/15.12.2-0-1.js
- * @description JSON.parse must exist as a function
- */
-
-
-function testcase() {
- var f = JSON.parse;
-
- if (typeof(f) === "function") {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The name JSON must be bound to an object. + Section 15 says that every built-in Function object described in this + section � whether as a constructor, an ordinary function, or both � has + a length property whose value is an integer. Unless otherwise specified, + this value is equal to the largest number of named arguments shown in + the section headings for the function description, including optional + parameters. + This default applies to JSON.parse, and it must exist as a function + taking 2 parameters. +description: JSON.parse must exist as a function +includes: [runTestCase.js] +---*/ + +function testcase() { + var f = JSON.parse; + + if (typeof(f) === "function") { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-0-2.js b/test/suite/ch15/15.12/15.12.2/15.12.2-0-2.js index 7bd3aa176..015c13f4c 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-0-2.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-0-2.js @@ -1,32 +1,30 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The name JSON must be bound to an object.
- *
- * Section 15 says that every built-in Function object described in this
- * section � whether as a constructor, an ordinary function, or both � has
- * a length property whose value is an integer. Unless otherwise specified,
- * this value is equal to the largest number of named arguments shown in
- * the section headings for the function description, including optional
- * parameters.
- *
- * This default applies to JSON.parse, and it must exist as a function
- * taking 2 parameters.
- *
- * @path ch15/15.12/15.12.2/15.12.2-0-2.js
- * @description JSON.parse must exist as a function taking 2 parameters
- */
-
-
-function testcase() {
- var f = JSON.parse;
-
- if (typeof(f) === "function" && f.length === 2) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The name JSON must be bound to an object. + Section 15 says that every built-in Function object described in this + section � whether as a constructor, an ordinary function, or both � has + a length property whose value is an integer. Unless otherwise specified, + this value is equal to the largest number of named arguments shown in + the section headings for the function description, including optional + parameters. + This default applies to JSON.parse, and it must exist as a function + taking 2 parameters. +description: JSON.parse must exist as a function taking 2 parameters +includes: [runTestCase.js] +---*/ + +function testcase() { + var f = JSON.parse; + + if (typeof(f) === "function" && f.length === 2) { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-0-3.js b/test/suite/ch15/15.12/15.12.2/15.12.2-0-3.js index 8e4741b6e..91ad7fc4d 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-0-3.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-0-3.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The initial value of [[Configurable]] on JSON is true. This means we
- * should be able to delete (8.6.2.5) the stringify and parse properties.
- *
- * @path ch15/15.12/15.12.2/15.12.2-0-3.js
- * @description JSON.parse must be deletable (configurable)
- */
-
-
-function testcase() {
- var o = JSON;
- var desc = Object.getOwnPropertyDescriptor(o, "parse");
- return desc.configurable === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The initial value of [[Configurable]] on JSON is true. This means we + should be able to delete (8.6.2.5) the stringify and parse properties. +description: JSON.parse must be deletable (configurable) +includes: [runTestCase.js] +---*/ + +function testcase() { + var o = JSON; + var desc = Object.getOwnPropertyDescriptor(o, "parse"); + return desc.configurable === true; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-1.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-1.js index 0945ddd7d..eba852bb8 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-1.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-1.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-1.js
- * @description JSON.parse - parsing an object where property name is a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ ' + nullChars[index] + ' : "John" } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property name is a null + character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ ' + nullChars[index] + ' : "John" } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-10.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-10.js index c08b6b35c..b4f4b6b15 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-10.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-10.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-10.js
- * @description JSON.parse - parsing an object where property value middles with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ "name" : ' + "Jo" + nullChars[index] + "hn" + ' } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property value middles with a + null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ "name" : ' + "Jo" + nullChars[index] + "hn" + ' } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-2.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-2.js index dd4807aa5..5711d7fd9 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-2.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-2.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-2.js
- * @description JSON.parse - parsing an object where property name starts with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ ' + nullChars[index] + "name" + ' : "John" } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property name starts with a + null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ ' + nullChars[index] + "name" + ' : "John" } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-3.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-3.js index c5416123d..fee50f99c 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-3.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-3.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-3.js
- * @description JSON.parse - parsing an object where property name ends with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{' + "name" + nullChars[index] + ' : "John" } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property name ends with a + null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{' + "name" + nullChars[index] + ' : "John" } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-4.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-4.js index 6a53e470f..2fb0e340a 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-4.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-4.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-4.js
- * @description JSON.parse - parsing an object where property name starts and ends with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{' + nullChars[index] + "name" + nullChars[index] + ' : "John" } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property name starts and ends + with a null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{' + nullChars[index] + "name" + nullChars[index] + ' : "John" } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-5.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-5.js index cd0a5c43b..6eb1e5a26 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-5.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-5.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-5.js
- * @description JSON.parse - parsing an object where property name middles with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ ' + "na" + nullChars[index] + "me" + ' : "John" } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property name middles with a + null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ ' + "na" + nullChars[index] + "me" + ' : "John" } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-6.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-6.js index 59b719ef9..6d6a7c0ef 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-6.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-6.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-6.js
- * @description JSON.parse - parsing an object where property value is a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ "name" : ' + nullChars[index] + ' } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property value is a null + character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ "name" : ' + nullChars[index] + ' } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-7.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-7.js index 855733a1d..815b5dc91 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-7.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-7.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-7.js
- * @description JSON.parse - parsing an object where property value starts with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ "name" : ' + nullChars[index] + "John" + ' } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property value starts with a + null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ "name" : ' + nullChars[index] + "John" + ' } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-8.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-8.js index a18494959..5ec624989 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-8.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-8.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-8.js
- * @description JSON.parse - parsing an object where property value ends with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ "name" : ' + "John" + nullChars[index] + ' } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property value ends with a + null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ "name" : ' + "John" + nullChars[index] + ' } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/15.12.2-2-9.js b/test/suite/ch15/15.12/15.12.2/15.12.2-2-9.js index 424d2e17f..0a62e1cb9 100644 --- a/test/suite/ch15/15.12/15.12.2/15.12.2-2-9.js +++ b/test/suite/ch15/15.12/15.12.2/15.12.2-2-9.js @@ -1,60 +1,62 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.2/15.12.2-2-9.js
- * @description JSON.parse - parsing an object where property value starts and ends with a null character
- */
-
-
-function testcase() {
-
- var result = true;
-
- var nullChars = new Array();
- nullChars[0] = '\"\u0000\"';
- nullChars[1] = '\"\u0001\"';
- nullChars[2] = '\"\u0002\"';
- nullChars[3] = '\"\u0003\"';
- nullChars[4] = '\"\u0004\"';
- nullChars[5] = '\"\u0005\"';
- nullChars[6] = '\"\u0006\"';
- nullChars[7] = '\"\u0007\"';
- nullChars[8] = '\"\u0008\"';
- nullChars[9] = '\"\u0009\"';
- nullChars[10] = '\"\u000A\"';
- nullChars[11] = '\"\u000B\"';
- nullChars[12] = '\"\u000C\"';
- nullChars[13] = '\"\u000D\"';
- nullChars[14] = '\"\u000E\"';
- nullChars[15] = '\"\u000F\"';
- nullChars[16] = '\"\u0010\"';
- nullChars[17] = '\"\u0011\"';
- nullChars[18] = '\"\u0012\"';
- nullChars[19] = '\"\u0013\"';
- nullChars[20] = '\"\u0014\"';
- nullChars[21] = '\"\u0015\"';
- nullChars[22] = '\"\u0016\"';
- nullChars[23] = '\"\u0017\"';
- nullChars[24] = '\"\u0018\"';
- nullChars[25] = '\"\u0019\"';
- nullChars[26] = '\"\u001A\"';
- nullChars[27] = '\"\u001B\"';
- nullChars[28] = '\"\u001C\"';
- nullChars[29] = '\"\u001D\"';
- nullChars[30] = '\"\u001E\"';
- nullChars[31] = '\"\u001F\"';
-
- for (var index in nullChars) {
- try {
- var obj = JSON.parse('{ "name" : ' + nullChars[index] + "John" + nullChars[index] + ' } ');
- result = (result && false);
- } catch (e) {
- result = (result && (e instanceof SyntaxError));
- }
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.parse - parsing an object where property value starts and + ends with a null character +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var nullChars = new Array(); + nullChars[0] = '\"\u0000\"'; + nullChars[1] = '\"\u0001\"'; + nullChars[2] = '\"\u0002\"'; + nullChars[3] = '\"\u0003\"'; + nullChars[4] = '\"\u0004\"'; + nullChars[5] = '\"\u0005\"'; + nullChars[6] = '\"\u0006\"'; + nullChars[7] = '\"\u0007\"'; + nullChars[8] = '\"\u0008\"'; + nullChars[9] = '\"\u0009\"'; + nullChars[10] = '\"\u000A\"'; + nullChars[11] = '\"\u000B\"'; + nullChars[12] = '\"\u000C\"'; + nullChars[13] = '\"\u000D\"'; + nullChars[14] = '\"\u000E\"'; + nullChars[15] = '\"\u000F\"'; + nullChars[16] = '\"\u0010\"'; + nullChars[17] = '\"\u0011\"'; + nullChars[18] = '\"\u0012\"'; + nullChars[19] = '\"\u0013\"'; + nullChars[20] = '\"\u0014\"'; + nullChars[21] = '\"\u0015\"'; + nullChars[22] = '\"\u0016\"'; + nullChars[23] = '\"\u0017\"'; + nullChars[24] = '\"\u0018\"'; + nullChars[25] = '\"\u0019\"'; + nullChars[26] = '\"\u001A\"'; + nullChars[27] = '\"\u001B\"'; + nullChars[28] = '\"\u001C\"'; + nullChars[29] = '\"\u001D\"'; + nullChars[30] = '\"\u001E\"'; + nullChars[31] = '\"\u001F\"'; + + for (var index in nullChars) { + try { + var obj = JSON.parse('{ "name" : ' + nullChars[index] + "John" + nullChars[index] + ' } '); + result = (result && false); + } catch (e) { + result = (result && (e instanceof SyntaxError)); + } + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js b/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js index eeb59283a..553d32e96 100644 --- a/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js +++ b/test/suite/ch15/15.12/15.12.2/S15.12.2_A1.js @@ -1,12 +1,11 @@ // Copyright 2011 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. -/** - * JSON.parse must create a property with the given property name - * - * @path ch15/15.12/15.12.2/S15.12.2_A1.js - * @description Tests that JSON.parse treats "__proto__" as a regular property name - */ +/*--- +info: JSON.parse must create a property with the given property name +description: Tests that JSON.parse treats "__proto__" as a regular property name +includes: [$FAIL.js] +---*/ var x = JSON.parse('{"__proto__":[]}'); if (Object.getPrototypeOf(x) !== Object.prototype) { @@ -15,4 +14,3 @@ if (Object.getPrototypeOf(x) !== Object.prototype) { if (!Array.isArray(x.__proto__)) { $FAIL('#2: JSON.parse did not set "__proto__" as a regular property'); } - diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-0-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-0-1.js index 4f9216a9a..3634e5834 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-0-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-0-1.js @@ -1,32 +1,30 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The name JSON must be bound to an object.
- *
- * Section 15 says that every built-in Function object described in this
- * section � whether as a constructor, an ordinary function, or both � has
- * a length property whose value is an integer. Unless otherwise specified,
- * this value is equal to the largest number of named arguments shown in
- * the section headings for the function description, including optional
- * parameters.
- *
- * This default applies to JSON.stringify, and it must exist as a function
- * taking 3 parameters.
- *
- * @path ch15/15.12/15.12.3/15.12.3-0-1.js
- * @description JSON.stringify must exist as be a function
- */
-
-
-function testcase() {
- var f = JSON.stringify;
-
- if (typeof(f) === "function") {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The name JSON must be bound to an object. + Section 15 says that every built-in Function object described in this + section � whether as a constructor, an ordinary function, or both � has + a length property whose value is an integer. Unless otherwise specified, + this value is equal to the largest number of named arguments shown in + the section headings for the function description, including optional + parameters. + This default applies to JSON.stringify, and it must exist as a function + taking 3 parameters. +description: JSON.stringify must exist as be a function +includes: [runTestCase.js] +---*/ + +function testcase() { + var f = JSON.stringify; + + if (typeof(f) === "function") { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-0-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3-0-2.js index c728f269f..510618d9f 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-0-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-0-2.js @@ -1,32 +1,30 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The name JSON must be bound to an object.
- *
- * Section 15 says that every built-in Function object described in this
- * section � whether as a constructor, an ordinary function, or both � has
- * a length property whose value is an integer. Unless otherwise specified,
- * this value is equal to the largest number of named arguments shown in
- * the section headings for the function description, including optional
- * parameters.
- *
- * This default applies to JSON.stringify, and it must exist as a function
- * taking 3 parameters.
- *
- * @path ch15/15.12/15.12.3/15.12.3-0-2.js
- * @description JSON.stringify must exist as be a function taking 3 parameters
- */
-
-
-function testcase() {
- var f = JSON.stringify;
-
- if (typeof(f) === "function" && f.length === 3) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The name JSON must be bound to an object. + Section 15 says that every built-in Function object described in this + section � whether as a constructor, an ordinary function, or both � has + a length property whose value is an integer. Unless otherwise specified, + this value is equal to the largest number of named arguments shown in + the section headings for the function description, including optional + parameters. + This default applies to JSON.stringify, and it must exist as a function + taking 3 parameters. +description: JSON.stringify must exist as be a function taking 3 parameters +includes: [runTestCase.js] +---*/ + +function testcase() { + var f = JSON.stringify; + + if (typeof(f) === "function" && f.length === 3) { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-0-3.js b/test/suite/ch15/15.12/15.12.3/15.12.3-0-3.js index 39d5cf59d..a04a949d5 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-0-3.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-0-3.js @@ -1,23 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * This test should be run without any built-ins being added/augmented.
- * The initial value of [[Configurable]] on JSON is true. This means we
- * should be able to delete (8.6.2.5) the stringify and parse properties.
- *
- * @path ch15/15.12/15.12.3/15.12.3-0-3.js
- * @description JSON.stringify must be deletable (configurable)
- */
-
-
-function testcase() {
- var o = JSON;
- var desc = Object.getOwnPropertyDescriptor(o, "stringify");
- if (desc.configurable === true) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +info: > + This test should be run without any built-ins being added/augmented. + The initial value of [[Configurable]] on JSON is true. This means we + should be able to delete (8.6.2.5) the stringify and parse properties. +description: JSON.stringify must be deletable (configurable) +includes: [runTestCase.js] +---*/ + +function testcase() { + var o = JSON; + var desc = Object.getOwnPropertyDescriptor(o, "stringify"); + if (desc.configurable === true) { + return true; + } + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-1.js index 813b7fb37..4fe34de2e 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-1.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-1.js
- * @description JSON.stringify(undefined) returns undefined
- */
-
-
-function testcase() {
- return JSON.stringify(undefined) === undefined;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify(undefined) returns undefined +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(undefined) === undefined; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-10.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-10.js index 32e885fb6..f68b2967c 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-10.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-10.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-10.js
- * @description A JSON.stringify replacer function applied to a top level scalar value can return undefined.
- */
-
-
-function testcase() {
- return JSON.stringify(42, function(k, v) { return undefined }) === undefined;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSON.stringify replacer function applied to a top level scalar + value can return undefined. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(42, function(k, v) { return undefined }) === undefined; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-11.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-11.js index e40181e45..c5243c990 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-11.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-11.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-11.js
- * @description A JSON.stringify replacer function applied to a top level Object can return undefined.
- */
-
-
-function testcase() {
- return JSON.stringify({prop:1}, function(k, v) { return undefined }) === undefined;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSON.stringify replacer function applied to a top level Object + can return undefined. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify({prop:1}, function(k, v) { return undefined }) === undefined; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-12.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-12.js index dd294997b..165d03290 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-12.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-12.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-12.js
- * @description A JSON.stringify replacer function applied to a top level scalar can return an Array.
- */
-
-
-function testcase() {
- return JSON.stringify(42, function(k, v) { return v==42 ?[4,2]:v }) === '[4,2]';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSON.stringify replacer function applied to a top level scalar + can return an Array. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(42, function(k, v) { return v==42 ?[4,2]:v }) === '[4,2]'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-13.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-13.js index dc9475223..26a7b577c 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-13.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-13.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-13.js
- * @description A JSON.stringify replacer function applied to a top level scalar can return an Object.
- */
-
-
-function testcase() {
- return JSON.stringify(42, function(k, v) { return v==42 ? {forty:2}: v}) === '{"forty":2}';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSON.stringify replacer function applied to a top level scalar + can return an Object. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(42, function(k, v) { return v==42 ? {forty:2}: v}) === '{"forty":2}'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-14.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-14.js index a50366264..29cca1fef 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-14.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-14.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-14.js
- * @description Applying JSON.stringify to a function returns undefined.
- */
-
-
-function testcase() {
- return JSON.stringify(function() {}) === undefined;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: Applying JSON.stringify to a function returns undefined. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(function() {}) === undefined; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-15.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-15.js index efd20c865..cf9433a45 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-15.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-15.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-15.js
- * @description Applying JSON.stringify with a replacer function to a function returns the replacer value.
- */
-
-
-function testcase() {
- return JSON.stringify(function() {}, function(k,v) {return 99}) === '99';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + Applying JSON.stringify with a replacer function to a function + returns the replacer value. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(function() {}, function(k,v) {return 99}) === '99'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-16.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-16.js index a5adee475..698e2a963 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-16.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-16.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-16.js
- * @description JSON.stringify - stringifying an object where property name is the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F": "John" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property name is the + union of all null character (The abstract operation Quote(value) + step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F": "John" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-17.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-17.js index 703dd0b6f..2cfbb844c 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-17.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-17.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-17.js
- * @description JSON.stringify - stringifying an object where property name starts with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fname": "John" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property name starts + with the union of all null character (The abstract operation + Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fname": "John" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-18.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-18.js index af3f8f199..e9d9087a7 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-18.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-18.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-18.js
- * @description JSON.stringify - stringifying an object where property name ends with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "name\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F": "John" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property name ends + with the union of all null character (The abstract operation + Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "name\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F": "John" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-19.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-19.js index fb0378b62..4a4f5c0e3 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-19.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-19.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-19.js
- * @description JSON.stringify - stringifying an object where property name starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fname\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F": "John" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1 && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property name starts + and ends with the union of all null character (The abstract + operation Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fname\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F": "John" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1 && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-2.js index a3c3d602c..cae488522 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-2.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-2.js
- * @description A JSON.stringify replacer function works is applied to a top level undefined value.
- */
-
-
-function testcase() {
- return JSON.stringify(undefined, function(k, v) { return "replacement" }) === '"replacement"';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + A JSON.stringify replacer function works is applied to a top level + undefined value. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(undefined, function(k, v) { return "replacement" }) === '"replacement"'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-20.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-20.js index 28b656cda..c8073215d 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-20.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-20.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-20.js
- * @description JSON.stringify - stringifying an object where property name middles with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "na\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fme": "John" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property name + middles with the union of all null character (The abstract + operation Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "na\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fme": "John" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-21.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-21.js index 60df392dd..be2ad74ff 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-21.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-21.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-21.js
- * @description JSON.stringify - stringifying an object where property value is the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "name": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property value is + the union of all null character (The abstract operation + Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "name": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-22.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-22.js index baa8fbc36..14a7f8dcb 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-22.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-22.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-22.js
- * @description JSON.stringify - stringifying an object where property value starts with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "name": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001FJohn" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property value + starts with the union of all null character (The abstract + operation Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "name": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001FJohn" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-23.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-23.js index 0670562a5..aba641376 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-23.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-23.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-23.js
- * @description JSON.stringify - stringifying an object where property value ends with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "name": "John\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property value ends + with the union of all null character (The abstract operation + Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "name": "John\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-24.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-24.js index eb55b2ce2..20d9f1f67 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-24.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-24.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-24.js
- * @description JSON.stringify - stringifying an object where property value starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "name": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001FJohn\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1 && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property value + starts and ends with the union of all null character (The abstract + operation Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "name": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001FJohn\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1 && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-25.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-25.js index cdcb163fc..51e62a954 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-25.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-25.js @@ -1,57 +1,60 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-25.js
- * @description JSON.stringify - stringifying an object where property value middles with the union of all null character (The abstract operation Quote(value) step 2.c)
- */
-
-
-function testcase() {
-
- var result = true;
-
- var expectedNullChars = new Array();
- expectedNullChars[0] = "\\u0000";
- expectedNullChars[1] = "\\u0001";
- expectedNullChars[2] = "\\u0002";
- expectedNullChars[3] = "\\u0003";
- expectedNullChars[4] = "\\u0004";
- expectedNullChars[5] = "\\u0005";
- expectedNullChars[6] = "\\u0006";
- expectedNullChars[7] = "\\u0007";
- expectedNullChars[8] = "\\b";
- expectedNullChars[9] = "\\t";
- expectedNullChars[10] = "\\n";
- expectedNullChars[11] = "\\u000b";
- expectedNullChars[12] = "\\f";
- expectedNullChars[13] = "\\r";
- expectedNullChars[14] = "\\u000e";
- expectedNullChars[15] = "\\u000f";
- expectedNullChars[16] = "\\u0010";
- expectedNullChars[17] = "\\u0011";
- expectedNullChars[18] = "\\u0012";
- expectedNullChars[19] = "\\u0013";
- expectedNullChars[20] = "\\u0014";
- expectedNullChars[21] = "\\u0015";
- expectedNullChars[22] = "\\u0016";
- expectedNullChars[23] = "\\u0017";
- expectedNullChars[24] = "\\u0018";
- expectedNullChars[25] = "\\u0019";
- expectedNullChars[26] = "\\u001a";
- expectedNullChars[27] = "\\u001b";
- expectedNullChars[28] = "\\u001c";
- expectedNullChars[29] = "\\u001d";
- expectedNullChars[30] = "\\u001e";
- expectedNullChars[31] = "\\u001f";
-
- for (var index in expectedNullChars) {
-
- var str = JSON.stringify({ "name": "Jo\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fhn" });
- result = (result && str.indexOf(expectedNullChars[index]) !== -1 && str.indexOf(expectedNullChars[index]) !== -1);
- }
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - stringifying an object where property value + middles with the union of all null character (The abstract + operation Quote(value) step 2.c) +includes: [runTestCase.js] +---*/ + +function testcase() { + + var result = true; + + var expectedNullChars = new Array(); + expectedNullChars[0] = "\\u0000"; + expectedNullChars[1] = "\\u0001"; + expectedNullChars[2] = "\\u0002"; + expectedNullChars[3] = "\\u0003"; + expectedNullChars[4] = "\\u0004"; + expectedNullChars[5] = "\\u0005"; + expectedNullChars[6] = "\\u0006"; + expectedNullChars[7] = "\\u0007"; + expectedNullChars[8] = "\\b"; + expectedNullChars[9] = "\\t"; + expectedNullChars[10] = "\\n"; + expectedNullChars[11] = "\\u000b"; + expectedNullChars[12] = "\\f"; + expectedNullChars[13] = "\\r"; + expectedNullChars[14] = "\\u000e"; + expectedNullChars[15] = "\\u000f"; + expectedNullChars[16] = "\\u0010"; + expectedNullChars[17] = "\\u0011"; + expectedNullChars[18] = "\\u0012"; + expectedNullChars[19] = "\\u0013"; + expectedNullChars[20] = "\\u0014"; + expectedNullChars[21] = "\\u0015"; + expectedNullChars[22] = "\\u0016"; + expectedNullChars[23] = "\\u0017"; + expectedNullChars[24] = "\\u0018"; + expectedNullChars[25] = "\\u0019"; + expectedNullChars[26] = "\\u001a"; + expectedNullChars[27] = "\\u001b"; + expectedNullChars[28] = "\\u001c"; + expectedNullChars[29] = "\\u001d"; + expectedNullChars[30] = "\\u001e"; + expectedNullChars[31] = "\\u001f"; + + for (var index in expectedNullChars) { + + var str = JSON.stringify({ "name": "Jo\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001Fhn" }); + result = (result && str.indexOf(expectedNullChars[index]) !== -1 && str.indexOf(expectedNullChars[index]) !== -1); + } + return result; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-26.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-26.js index 36c5c306b..95c0e8a89 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-26.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-26.js @@ -1,21 +1,23 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-26.js
- * @description JSON.stringify - the last element of the concatenation is ']' (The abstract operation JA(value) step 10.b.iii)
- */
-
-
-function testcase() {
- var arrObj = [];
- arrObj[0] = "a";
- arrObj[1] = "b";
- arrObj[2] = "c";
-
- var jsonText = JSON.stringify(arrObj, undefined, "").toString();
- return jsonText.charAt(jsonText.length - 1) === "]";
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify - the last element of the concatenation is ']' (The + abstract operation JA(value) step 10.b.iii) +includes: [runTestCase.js] +---*/ + +function testcase() { + var arrObj = []; + arrObj[0] = "a"; + arrObj[1] = "b"; + arrObj[2] = "c"; + + var jsonText = JSON.stringify(arrObj, undefined, "").toString(); + return jsonText.charAt(jsonText.length - 1) === "]"; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-3.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-3.js index 4d5b2c2d3..4f2669dae 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-3.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-3.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-3.js
- * @description A JSON.stringify correctly works on top level string values.
- */
-
-
-function testcase() {
- return JSON.stringify("a string") === '"a string"';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: A JSON.stringify correctly works on top level string values. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify("a string") === '"a string"'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-4.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-4.js index 676a7bd13..2508f2895 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-4.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-4.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-4.js
- * @description JSON.stringify correctly works on top level Number values.
- */
-
-
-function testcase() {
- return JSON.stringify(123) === '123';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify correctly works on top level Number values. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(123) === '123'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-5.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-5.js index 405e52138..fc2b2cead 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-5.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-5.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-5.js
- * @description JSON.stringify correctly works on top level Boolean values.
- */
-
-
-function testcase() {
- return JSON.stringify(true) === 'true';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify correctly works on top level Boolean values. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(true) === 'true'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-6.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-6.js index 04fa3c79c..6863cc0c3 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-6.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-6.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-6.js
- * @description JSON.stringify correctly works on top level null values.
- */
-
-
-function testcase() {
- return JSON.stringify(null) === 'null';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify correctly works on top level null values. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(null) === 'null'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-7.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-7.js index 4cdeafa3b..4a1e8a397 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-7.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-7.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-7.js
- * @description JSON.stringify correctly works on top level Number objects.
- */
-
-
-function testcase() {
- return JSON.stringify(new Number(42)) === '42';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify correctly works on top level Number objects. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(new Number(42)) === '42'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-8.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-8.js index 898549693..2018a37ac 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-8.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-8.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-8.js
- * @description JSON.stringify correctly works on top level String objects.
- */
-
-
-function testcase() {
- return JSON.stringify(new String('wrappered')) === '"wrappered"';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify correctly works on top level String objects. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(new String('wrappered')) === '"wrappered"'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-11-9.js b/test/suite/ch15/15.12/15.12.3/15.12.3-11-9.js index db0c543c2..728ff2711 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-11-9.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-11-9.js @@ -1,15 +1,15 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-11-9.js
- * @description JSON.stringify correctly works on top level Boolean objects.
- */
-
-
-function testcase() {
- return JSON.stringify(new Boolean(false)) === 'false';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify correctly works on top level Boolean objects. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify(new Boolean(false)) === 'false'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-4-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-4-1.js index 8fab14660..7d4da1364 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-4-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-4-1.js @@ -1,18 +1,20 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-4-1.js
- * @description JSON.stringify ignores replacer aruguments that are not functions or arrays..
- */
-
-
-function testcase() {
- try {
- return JSON.stringify([42],{})=== '[42]';
- }
- catch (e) {return false}
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify ignores replacer aruguments that are not functions + or arrays.. +includes: [runTestCase.js] +---*/ + +function testcase() { + try { + return JSON.stringify([42],{})=== '[42]'; + } + catch (e) {return false} + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-5-a-i-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-5-a-i-1.js index a350ffabb..3d8875662 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-5-a-i-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-5-a-i-1.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-5-a-i-1.js
- * @description JSON.stringify converts Number wrapper object space aruguments to Number values
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, new Number(5))=== JSON.stringify(obj,null, 5);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts Number wrapper object space aruguments to + Number values +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, new Number(5))=== JSON.stringify(obj,null, 5); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-5-b-i-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-5-b-i-1.js index 803d08f9d..837979b32 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-5-b-i-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-5-b-i-1.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-5-b-i-1.js
- * @description JSON.stringify converts String wrapper object space aruguments to String values
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, new String('xxx'))=== JSON.stringify(obj,null, 'xxx');
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts String wrapper object space aruguments to + String values +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, new String('xxx'))=== JSON.stringify(obj,null, 'xxx'); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-1.js index 60bcfda5f..234d20598 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-1.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-6-a-1.js
- * @description JSON.stringify treats numeric space arguments greater than 10 the same as a space argument of 10.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, 10)=== JSON.stringify(obj,null, 100);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats numeric space arguments greater than 10 the + same as a space argument of 10. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, 10)=== JSON.stringify(obj,null, 100); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-2.js index 42a149b41..4cc1fb46a 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-6-a-2.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-6-a-2.js
- * @description JSON.stringify truccates non-integer numeric space arguments to their integer part.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, 5.99999)=== JSON.stringify(obj,null, 5);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify truccates non-integer numeric space arguments to + their integer part. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, 5.99999)=== JSON.stringify(obj,null, 5); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-1.js index 7b07d8442..bb8ad815e 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-1.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-6-b-1.js
- * @description JSON.stringify treats numeric space arguments less than 1 (0.999999)the same as emptry string space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, 0.999999)=== JSON.stringify(obj); /* emptry string should be same as no space arg */
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats numeric space arguments less than 1 + (0.999999)the same as emptry string space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, 0.999999)=== JSON.stringify(obj); /* emptry string should be same as no space arg */ + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-2.js index 0e0404ac7..69e1da3da 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-2.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-6-b-2.js
- * @description JSON.stringify treats numeric space arguments less than 1 (0)the same as emptry string space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, 0)=== JSON.stringify(obj); /* emptry string should be same as no space arg */
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats numeric space arguments less than 1 (0)the + same as emptry string space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, 0)=== JSON.stringify(obj); /* emptry string should be same as no space arg */ + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-3.js b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-3.js index 2d0f5c1b4..ccb509fcb 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-3.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-3.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-6-b-3.js
- * @description JSON.stringify treats numeric space arguments less than 1 (-5) the same as emptry string space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, -5)=== JSON.stringify(obj); /* emptry string should be same as no space arg */
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats numeric space arguments less than 1 (-5) the + same as emptry string space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, -5)=== JSON.stringify(obj); /* emptry string should be same as no space arg */ + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-4.js b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-4.js index e08dd093c..b168b29ce 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-4.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-6-b-4.js @@ -1,18 +1,20 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-6-b-4.js
- * @description JSON.stringify treats numeric space arguments (in the range 1..10) is equivalent to a string of spaces of that length.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- var fiveSpaces = ' ';
- // '12345'
- return JSON.stringify(obj,null, 5)=== JSON.stringify(obj, null, fiveSpaces);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats numeric space arguments (in the range 1..10) + is equivalent to a string of spaces of that length. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + var fiveSpaces = ' '; + // '12345' + return JSON.stringify(obj,null, 5)=== JSON.stringify(obj, null, fiveSpaces); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-7-a-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-7-a-1.js index 7ef1492b2..69f79980f 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-7-a-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-7-a-1.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-7-a-1.js
- * @description JSON.stringify only uses the first 10 characters of a string space arguments.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj,null, '0123456789xxxxxxxxx')=== JSON.stringify(obj,null, '0123456789');
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify only uses the first 10 characters of a string space + arguments. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj,null, '0123456789xxxxxxxxx')=== JSON.stringify(obj,null, '0123456789'); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-1.js index aee8ced9c..c8b358058 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-1.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-8-a-1.js
- * @description JSON.stringify treats an empty string space argument the same as a missing space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj)=== JSON.stringify(obj,null, '');
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats an empty string space argument the same as a + missing space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj)=== JSON.stringify(obj,null, ''); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-2.js index 7e2bd348c..31d33172c 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-2.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-8-a-2.js
- * @description JSON.stringify treats an Boolean space argument the same as a missing space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj)=== JSON.stringify(obj,null, true);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats an Boolean space argument the same as a + missing space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj)=== JSON.stringify(obj,null, true); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-3.js b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-3.js index cf53e02b5..c0f6b05ee 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-3.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-3.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-8-a-3.js
- * @description JSON.stringify treats an null space argument the same as a missing space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj)=== JSON.stringify(obj,null, null);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats an null space argument the same as a missing + space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj)=== JSON.stringify(obj,null, null); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-4.js b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-4.js index 65ebadfc8..faeab00a0 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-4.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-4.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-8-a-4.js
- * @description JSON.stringify treats an Boolean wrapper space argument the same as a missing space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj)=== JSON.stringify(obj,null, new Boolean(true));
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats an Boolean wrapper space argument the same + as a missing space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj)=== JSON.stringify(obj,null, new Boolean(true)); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-5.js b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-5.js index 3b92557ce..74962aabb 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-5.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3-8-a-5.js @@ -1,16 +1,18 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3-8-a-5.js
- * @description JSON.stringify treats non-Number or String object space arguments the same as a missing space argument.
- */
-
-
-function testcase() {
- var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
- return JSON.stringify(obj)=== JSON.stringify(obj,null, obj);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify treats non-Number or String object space arguments + the same as a missing space argument. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'}; + return JSON.stringify(obj)=== JSON.stringify(obj,null, obj); + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js index 0a5a9761e..ab5d4dbd8 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js @@ -1,19 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js
- * @description JSON.stringify converts string wrapper objects returned from a toJSON call to literal strings.
- */
-
-
-function testcase() {
- var obj = {
- prop:42,
- toJSON: function () {return 'fortytwo objects'}
- };
- return JSON.stringify([obj]) === '["fortytwo objects"]';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts string wrapper objects returned from a + toJSON call to literal strings. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = { + prop:42, + toJSON: function () {return 'fortytwo objects'} + }; + return JSON.stringify([obj]) === '["fortytwo objects"]'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js index e75171469..17b8b5286 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js @@ -1,19 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js
- * @description JSON.stringify converts Number wrapper objects returned from a toJSON call to literal Number.
- */
-
-
-function testcase() {
- var obj = {
- prop:42,
- toJSON: function () {return new Number(42)}
- };
- return JSON.stringify([obj]) === '[42]';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts Number wrapper objects returned from a + toJSON call to literal Number. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = { + prop:42, + toJSON: function () {return new Number(42)} + }; + return JSON.stringify([obj]) === '[42]'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js b/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js index 848127295..dad0a71c4 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js @@ -1,19 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js
- * @description JSON.stringify converts Boolean wrapper objects returned from a toJSON call to literal Boolean values.
- */
-
-
-function testcase() {
- var obj = {
- prop:42,
- toJSON: function () {return new Boolean(true)}
- };
- return JSON.stringify([obj]) === '[true]';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts Boolean wrapper objects returned from a + toJSON call to literal Boolean values. +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = { + prop:42, + toJSON: function () {return new Boolean(true)} + }; + return JSON.stringify([obj]) === '[true]'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-1.js index a1e71cd73..f612adc36 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-1.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_2-3-a-1.js
- * @description JSON.stringify converts string wrapper objects returned from replacer functions to literal strings.
- */
-
-
-function testcase() {
- return JSON.stringify([42], function(k,v) {return v===42? new String('fortytwo'):v}) === '["fortytwo"]';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts string wrapper objects returned from + replacer functions to literal strings. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify([42], function(k,v) {return v===42? new String('fortytwo'):v}) === '["fortytwo"]'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-2.js index 679c252a9..7a264e55f 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-2.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_2-3-a-2.js
- * @description JSON.stringify converts Number wrapper objects returned from replacer functions to literal numbers.
- */
-
-
-function testcase() {
- return JSON.stringify([42], function(k,v) {return v===42? new Number(84):v}) === '[84]';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts Number wrapper objects returned from + replacer functions to literal numbers. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify([42], function(k,v) {return v===42? new Number(84):v}) === '[84]'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-3.js b/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-3.js index 6124fcd92..cf403d36e 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-3.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_2-3-a-3.js @@ -1,15 +1,17 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_2-3-a-3.js
- * @description JSON.stringify converts Boolean wrapper objects returned from replacer functions to literal numbers.
- */
-
-
-function testcase() {
- return JSON.stringify([42], function(k,v) {return v===42? new Boolean(false):v}) === '[false]';
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: > + JSON.stringify converts Boolean wrapper objects returned from + replacer functions to literal numbers. +includes: [runTestCase.js] +---*/ + +function testcase() { + return JSON.stringify([42], function(k,v) {return v===42? new Boolean(false):v}) === '[false]'; + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-1.js b/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-1.js index cbab742f7..e196d0df6 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-1.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-1.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_4-1-1.js
- * @description JSON.stringify a circular object throws a error
- */
-
-
-function testcase() {
- var obj = {};
- obj.prop = obj;
- try {
- JSON.stringify(obj);
- return false; // should not reach here
- }
- catch (e) {return true}
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify a circular object throws a error +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {}; + obj.prop = obj; + try { + JSON.stringify(obj); + return false; // should not reach here + } + catch (e) {return true} + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-2.js b/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-2.js index a8157f6fe..c72e18a12 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-2.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-2.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_4-1-2.js
- * @description JSON.stringify a circular object throws a TypeError
- */
-
-
-function testcase() {
- var obj = {};
- obj.prop = obj;
- try {
- JSON.stringify(obj);
- return false; // should not reach here
- }
- catch (e) {return e.name==='TypeError'}
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify a circular object throws a TypeError +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {}; + obj.prop = obj; + try { + JSON.stringify(obj); + return false; // should not reach here + } + catch (e) {return e.name==='TypeError'} + } +runTestCase(testcase); diff --git a/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-3.js b/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-3.js index 6a66e87aa..0a8112965 100644 --- a/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-3.js +++ b/test/suite/ch15/15.12/15.12.3/15.12.3_4-1-3.js @@ -1,21 +1,21 @@ -/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.12/15.12.3/15.12.3_4-1-3.js
- * @description JSON.stringify a indirectly circular object throws a error
- */
-
-
-function testcase() {
- var obj = {p1: {p2: {}}};
- obj.p1.p2.prop = obj;
- try {
- JSON.stringify(obj);
- return false; // should not reach here
- }
- catch (e) {return true}
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved. +// Ecma International makes this code available under the terms and conditions set +// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +// "Use Terms"). Any redistribution of this code must retain the above +// copyright and this notice and otherwise comply with the Use Terms. + +/*--- +description: JSON.stringify a indirectly circular object throws a error +includes: [runTestCase.js] +---*/ + +function testcase() { + var obj = {p1: {p2: {}}}; + obj.p1.p2.prop = obj; + try { + JSON.stringify(obj); + return false; // should not reach here + } + catch (e) {return true} + } +runTestCase(testcase); |