diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /js/src/tests/test262/ch07 | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'js/src/tests/test262/ch07')
749 files changed, 19893 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.1_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.1_T1.js new file mode 100644 index 000000000..1c8e5a9ca --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.1_T1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * HORIZONTAL TAB (U+0009) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.1_T1.js + * @description Insert HORIZONTAL TAB(\u0009 and \t) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u0009var\u0009x\u0009=\u00091\u0009"); +if (x !== 1) { + $ERROR('#1: eval("\\u0009var\\u0009x\\u0009=\\u00091\\u0009"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u0009" + "var" + "\u0009" + "x" + "\u0009" + "=" + "\u0009" + "1" + "\u0009"); +if (x !== 1) { + $ERROR('#2: eval("\\u0009" + "var" + "\\u0009" + "x" + "\\u0009" + "=" + "\\u0009" + "1" + "\\u0009"); x === 1. Actual: ' + (x)); +} + +//CHECK#3 +eval("\tvar\tx\t=\t1\t"); +if (x !== 1) { + $ERROR('#3: eval("\\tvar\\tx\\t=\\t1\\t"); x === 1. Actual: ' + (x)); +} + +//CHECK#4 +eval("\t" + "var" + "\t" + "x" + "\t" + "=" + "\t" + "1" + "\t"); +if (x !== 1) { + $ERROR('#4: eval("\\t" + "var" + "\\t" + "x" + "\\t" + "=" + "\\t" + "1" + "\\t"); x === 1. Actual: ' + (x)); +} + +//CHECK#5 +eval("\u0009" + "var" + "\t" + "x" + "\u0009" + "=" + "\t" + "1" + "\u0009"); +if (x !== 1) { + $ERROR('#5: eval("\\u0009" + "var" + "\\t" + "x" + "\\u0009" + "=" + "\\t" + "1" + "\\u0009"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.1_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.1_T2.js new file mode 100644 index 000000000..081c60ef3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.1_T2.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * HORIZONTAL TAB (U+0009) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.1_T2.js + * @description Insert real HORIZONTAL TAB between tokens of var x=1 + */ + +//CHECK#1 + var x = 1 ; +if (x !== 1) { + $ERROR('#1: var x = 1 ; x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval(" var\tx =\t2 "); +if (x !== 2) { + $ERROR('#2: var\\tx =\\t1 ; x === 2. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.2_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.2_T1.js new file mode 100644 index 000000000..19be1c7e2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.2_T1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * VERTICAL TAB (U+000B) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.2_T1.js + * @description Insert VERTICAL TAB(\u000B and \v) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u000Bvar\u000Bx\u000B=\u000B1\u000B"); +if (x !== 1) { + $ERROR('#1: eval("\\u000Bvar\\u000Bx\\u000B=\\u000B1\\u000B"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u000B" + "var" + "\u000B" + "x" + "\u000B" + "=" + "\u000B" + "1" + "\u000B"); +if (x !== 1) { + $ERROR('#2: eval("\\u000B" + "var" + "\\u000B" + "x" + "\\u000B" + "=" + "\\u000B" + "1" + "\\u000B"); x === 1. Actual: ' + (x)); +} + +//CHECK#3 +eval("\vvar\vx\v=\v1\v"); +if (x !== 1) { + $ERROR('#3: eval("\\vvar\\vx\\v=\\v1\\v"); x === 1. Actual: ' + (x)); +} + +//CHECK#4 +eval("\v" + "var" + "\v" + "x" + "\v" + "=" + "\v" + "1" + "\v"); +if (x !== 1) { + $ERROR('#4: eval("\\v" + "var" + "\\v" + "x" + "\\v" + "=" + "\\v" + "1" + "\\v"); x === 1. Actual: ' + (x)); +} + +//CHECK#5 +eval("\u000B" + "var" + "\v" + "x" + "\u000B" + "=" + "\v" + "1" + "\u000B"); +if (x !== 1) { + $ERROR('#5: eval("\\u000B" + "var" + "\\v" + "x" + "\\u000B" + "=" + "\\v" + "1" + "\\u000B"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.2_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.2_T2.js new file mode 100644 index 000000000..f5ab425f5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.2_T2.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * VERTICAL TAB (U+000B) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.2_T2.js + * @description Insert real VERTICAL TAB between tokens of var x=1 + */ + +//CHECK#1 +varx=1; +if (x !== 1) { + $ERROR('#1: varx=1; x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("var\vx=\v1"); +if (x !== 1) { + $ERROR('#2: var\\vx=\\v1; x === 1. Actual: ' + (x)); +} + + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.3_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.3_T1.js new file mode 100644 index 000000000..eb8c2f85c --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.3_T1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * FORM FEED (U+000C) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.3_T1.js + * @description Insert FORM FEED(\u000C and \f) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u000Cvar\u000Cx\u000C=\u000C1\u000C"); +if (x !== 1) { + $ERROR('#1: eval("\\u000Cvar\\u000Cx\\u000C=\\u000C1\\u000C"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u000C" + "var" + "\u000C" + "x" + "\u000C" + "=" + "\u000C" + "1" + "\u000C"); +if (x !== 1) { + $ERROR('#2: eval("\\u000C" + "var" + "\\u000C" + "x" + "\\u000C" + "=" + "\\u000C" + "1" + "\\u000C"); x === 1. Actual: ' + (x)); +} + +//CHECK#3 +eval("\fvar\fx\f=\f1\f"); +if (x !== 1) { + $ERROR('#3: eval("\\fvar\\fx\\f=\\f1\\f"); x === 1. Actual: ' + (x)); +} + +//CHECK#4 +eval("\f" + "var" + "\f" + "x" + "\f" + "=" + "\f" + "1" + "\f"); +if (x !== 1) { + $ERROR('#4: eval("\\f" + "var" + "\\f" + "x" + "\\f" + "=" + "\\f" + "1" + "\\f"); x === 1. Actual: ' + (x)); +} + +//CHECK#5 +eval("\u000C" + "var" + "\f" + "x" + "\u000C" + "=" + "\f" + "1" + "\u000C"); +if (x !== 1) { + $ERROR('#5: eval("\\u000C" + "var" + "\\f" + "x" + "\\u000C" + "=" + "\\f" + "1" + "\\u000C"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.3_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.3_T2.js new file mode 100644 index 000000000..90fe95742 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.3_T2.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * FORM FEED (U+000C) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.3_T2.js + * @description Insert real FORM FEED between tokens of var x=1 + */ + +//CHECK#1 +varx=1; +if (x !== 1) { + $ERROR('#1: varx=1; x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("var\fx=\f1"); +if (x !== 1) { + $ERROR('#2: var\\fx=\\f1; x === 1. Actual: ' + (x)); +} + + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.4_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.4_T1.js new file mode 100644 index 000000000..1f10f9166 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.4_T1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * SPACE (U+0020) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.4_T1.js + * @description Insert SPACE(\u0020) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u0020var\u0020x\u0020=\u00201\u0020"); +if (x !== 1) { + $ERROR('#1: eval("\\u0020var\\u0020x\\u0020=\\u00201\\u0020"); x === 1;'); +} + +//CHECK#2 +eval("\u0020" + "var" + "\u0020" + "x" + "\u0020" + "=" + "\u0020" + "1" + "\u0020"); +if (x !== 1) { + $ERROR('#2: eval("\\u0020" + "var" + "\\u0020" + "x" + "\\u0020" + "=" + "\\u0020" + "1" + "\\u0020"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.4_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.4_T2.js new file mode 100644 index 000000000..67c9c96c1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.4_T2.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * SPACE (U+0020) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.4_T2.js + * @description Insert real SPACE between tokens of var x=1 + */ + +//CHECK#1 +eval("\u0020var x\u0020= 1\u0020"); +if (x !== 1) { + $ERROR('#1: eval("\\u0020var x\\u0020= 1\\u0020"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 + var x = 1 ; +if (x !== 1) { + $ERROR('#2: var x = 1 ; x === 1. Actual: ' + (x)); +} + + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.5_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.5_T1.js new file mode 100644 index 000000000..59339116e --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.5_T1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * NO-BREAK SPACE (U+00A0) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.5_T1.js + * @description Insert NO-BREAK SPACE(\u00A0) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u00A0var\u00A0x\u00A0=\u00A01\u00A0"); +if (x !== 1) { + $ERROR('#1: eval("\\u00A0var\\u00A0x\\u00A0=\\u00A01\\u00A0"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u00A0" + "var" + "\u00A0" + "x" + "\u00A0" + "=" + "\u00A0" + "1" + "\u00A0"); +if (x !== 1) { + $ERROR('#2: eval("\\u00A0" + "var" + "\\u00A0" + "x" + "\\u00A0" + "=" + "\\u00A0" + "1" + "\\u00A0"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A1.5_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A1.5_T2.js new file mode 100644 index 000000000..e4635e697 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A1.5_T2.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * NO-BREAK SPACE (U+00A0) between any two tokens is allowed + * + * @path ch07/7.2/S7.2_A1.5_T2.js + * @description Insert real NO-BREAK SPACE between tokens of var x=1 + */ + +//CHECK#1 +eval("\u00A0var x\u00A0= 1\u00A0"); +if (x !== 1) { + $ERROR('#1: eval("\\u00A0var x\\u00A0= 1\\u00A0"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 + var x = 1 ; +if (x !== 1) { + $ERROR('#2: var x = 1 ; x === 1. Actual: ' + (x)); +} + + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.1_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.1_T1.js new file mode 100644 index 000000000..c7fdaaf3e --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.1_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * HORIZONTAL TAB (U+0009) may occur within strings + * + * @path ch07/7.2/S7.2_A2.1_T1.js + * @description Use HORIZONTAL TAB(\u0009 and \t) + */ + +// CHECK#1 +if (eval("'\u0009str\u0009ing\u0009'") !== "\u0009str\u0009ing\u0009") { + $ERROR('#1: eval("\'\\u0009str\\u0009ing\\u0009\'") === "\\u0009str\\u0009ing\\u0009"'); +} + +//CHECK#2 +if (eval("'\tstr\ting\t'") !== "\tstr\ting\t") { + $ERROR('#2: eval("\'\\tstr\\ting\\t\'") === "\\tstr\\ting\\t"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.1_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.1_T2.js new file mode 100644 index 000000000..7a89875ba --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.1_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * HORIZONTAL TAB (U+0009) may occur within strings + * + * @path ch07/7.2/S7.2_A2.1_T2.js + * @description Use real HORIZONTAL TAB + */ + +//CHECK#1 +if (" str ing " !== "\u0009str\u0009ing\u0009") { + $ERROR('#1: " str ing " === "\\u0009str\\u0009ing\\u0009"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.2_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.2_T1.js new file mode 100644 index 000000000..69c8de8ff --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.2_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * VERTICAL TAB (U+000B) may occur within strings + * + * @path ch07/7.2/S7.2_A2.2_T1.js + * @description Use VERTICAL TAB(\u000B and \v) + */ + +// CHECK#1 +if (eval("'\u000Bstr\u000Bing\u000B'") !== "\u000Bstr\u000Bing\u000B") { + $ERROR('#1: eval("\'\\u000Bstr\\u000Bing\\u000B\'") === "\\u000Bstr\\u000Bing\\u000B"'); +} + +//CHECK#2 +if (eval("'\vstr\ving\v'") !== "\vstr\ving\v") { + $ERROR('#2: eval("\'\\vstr\\ving\\v\'") === "\\vstr\\ving\\v"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.2_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.2_T2.js new file mode 100644 index 000000000..f7b415972 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.2_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * VERTICAL TAB (U+000B) may occur within strings + * + * @path ch07/7.2/S7.2_A2.2_T2.js + * @description Use real VERTICAL TAB + */ + +//CHECK#1 +if ("string" !== "\u000Bstr\u000Bing\u000B") { + $ERROR('#1: "string" === "\\u000Bstr\\u000Bing\\u000B"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.3_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.3_T1.js new file mode 100644 index 000000000..9b30396fc --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.3_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * FORM FEED (U+000C) may occur within strings + * + * @path ch07/7.2/S7.2_A2.3_T1.js + * @description Use FORM FEED(\u000C and \f) + */ + +// CHECK#1 +if (eval("'\u000Cstr\u000Cing\u000C'") !== "\u000Cstr\u000Cing\u000C") { + $ERROR('#1: eval("\'\\u000Cstr\\u000Cing\\u000C\'") === "\\u000Cstr\\u000Cing\\u000C"'); +} + +//CHECK#2 +if (eval("'\fstr\fing\f'") !== "\fstr\fing\f") { + $ERROR('#2: eval("\'\\fstr\\fing\\f\'") === "\\fstr\\fing\\f"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.3_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.3_T2.js new file mode 100644 index 000000000..a575f8a0d --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.3_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * FORM FEED (U+000C) may occur within strings + * + * @path ch07/7.2/S7.2_A2.3_T2.js + * @description Use real FORM FEED + */ + +//CHECK#1 +if ("string" !== "\u000Cstr\u000Cing\u000C") { + $ERROR('#1: "string" === "\\u000Cstr\\u000Cing\\u000C"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.4_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.4_T1.js new file mode 100644 index 000000000..4b41932c7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.4_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * SPACE (U+0020) may occur within strings + * + * @path ch07/7.2/S7.2_A2.4_T1.js + * @description Use SPACE(\u0020) + */ + +// CHECK#1 +if (eval("'\u0020str\u0020ing\u0020'") !== "\u0020str\u0020ing\u0020") { + $ERROR('#1: eval("\'\\u0020str\\u0020ing\\u0020\'") === "\\u0020str\\u0020ing\\u0020"'); +} + +//CHECK#2 +if (eval("' str ing '") !== " str ing ") { + $ERROR('#2: eval("\' str ing \'") === " str ing "'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.4_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.4_T2.js new file mode 100644 index 000000000..b61d2313d --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.4_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * SPACE (U+0020) may occur within strings + * + * @path ch07/7.2/S7.2_A2.4_T2.js + * @description Use real SPACE + */ + +//CHECK#1 +if (" str ing " !== "\u0020str\u0020ing\u0020") { + $ERROR('#1: " str ing " === "\\u0020str\\u0020ing\\u0020"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.5_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.5_T1.js new file mode 100644 index 000000000..60fb7f358 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.5_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * NO-BREAK SPACE (U+00A0) may occur within strings + * + * @path ch07/7.2/S7.2_A2.5_T1.js + * @description Use NO-BREAK SPACE(\u00A0) + */ + +// CHECK#1 +if (eval("'\u00A0str\u00A0ing\u00A0'") !== "\u00A0str\u00A0ing\u00A0") { + $ERROR('#1: eval("\'\\u00A0str\\u00A0ing\\u00A0\'") === "\\u00A0str\\u00A0ing\\u00A0"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A2.5_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A2.5_T2.js new file mode 100644 index 000000000..0cf26e596 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A2.5_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * NO-BREAK SPACE (U+00A0) may occur within strings + * + * @path ch07/7.2/S7.2_A2.5_T2.js + * @description Use real NO-BREAK SPACE + */ + +//CHECK#1 +if (" str ing " !== "\u00A0str\u00A0ing\u00A0") { + $ERROR('#1: " str ing " === "\\u00A0str\\u00A0ing\\u00A0"'); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.1_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.1_T1.js new file mode 100644 index 000000000..c8eae5be2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.1_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain HORIZONTAL TAB (U+0009) + * + * @path ch07/7.2/S7.2_A3.1_T1.js + * @description Use HORIZONTAL TAB(\u0009) + */ + +// CHECK#1 +eval("//\u0009 single line \u0009 comment \u0009"); + +//CHECK#2 +var x = 0; +eval("//\u0009 single line \u0009 comment \u0009 x = 1;"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("//\\u0009 single line \\u0009 comment \\u0009 x = 1;"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.1_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.1_T2.js new file mode 100644 index 000000000..b5b479240 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.1_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain HORIZONTAL TAB (U+0009) + * + * @path ch07/7.2/S7.2_A3.1_T2.js + * @description Use real HORIZONTAL TAB + */ + +//CHECK#1 +var x = 0; +// single line comment x = 1; +if (x !== 0) { + $ERROR('#1: var x = 0; // single line comment x = 1; x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.2_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.2_T1.js new file mode 100644 index 000000000..435a2493f --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.2_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain VERTICAL TAB (U+000B) + * + * @path ch07/7.2/S7.2_A3.2_T1.js + * @description Use VERTICAL TAB(\u000B) + */ + +// CHECK#1 +eval("//\u000B single line \u000B comment \u000B"); + +//CHECK#2 +var x = 0; +eval("//\u000B single line \u000B comment \u000B x = 1;"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("//\\u000B single line \\u000B comment \\u000B x = 1;"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.2_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.2_T2.js new file mode 100644 index 000000000..cfdd6bc0a --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.2_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain VERTICAL TAB (U+000B) + * + * @path ch07/7.2/S7.2_A3.2_T2.js + * @description Use real VERTICAL TAB + */ + +//CHECK#1 +var x = 0; +//singlelinecommentx = 1; +if (x !== 0) { + $ERROR('#1: var x = 0; //singlelinecommentx = 1; x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.3_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.3_T1.js new file mode 100644 index 000000000..260d07073 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.3_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain FORM FEED (U+000C) + * + * @path ch07/7.2/S7.2_A3.3_T1.js + * @description Use FORM FEED(\u000C) + */ + +// CHECK#1 +eval("//\u000C single line \u000C comment \u000C"); + +//CHECK#2 +var x = 0; +eval("//\u000C single line \u000C comment \u000C x = 1;"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("//\\u000C single line \\u000C comment \\u000C x = 1;"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.3_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.3_T2.js new file mode 100644 index 000000000..f1ce32510 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.3_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain FORM FEED (U+000C) + * + * @path ch07/7.2/S7.2_A3.3_T2.js + * @description Use real FORM FEED + */ + +//CHECK#1 +var x = 0; +//singlelinecommentx = 1; +if (x !== 0) { + $ERROR('#1: var x = 0; //singlelinecommentx = 1; x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.4_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.4_T1.js new file mode 100644 index 000000000..41264606b --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.4_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain SPACE (U+0020) + * + * @path ch07/7.2/S7.2_A3.4_T1.js + * @description Use SPACE(\u0020) + */ + +// CHECK#1 +eval("//\u0020 single line \u0020 comment \u0020"); + +//CHECK#2 +var x = 0; +eval("//\u0020 single line \u0020 comment \u0020 x = 1;"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("//\\u0020 single line \\u0020 comment \\u0020 x = 1;"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.4_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.4_T2.js new file mode 100644 index 000000000..bfc4650fe --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.4_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain SPACE (U+0020) + * + * @path ch07/7.2/S7.2_A3.4_T2.js + * @description Use real SPACE + */ + +//CHECK#1 +var x = 0; +// single line comment x = 1; +if (x !== 0) { + $ERROR('#1: var x = 0; // single line comment x = 1; x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.5_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.5_T1.js new file mode 100644 index 000000000..6d12abddf --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.5_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain NO-BREAK SPACE (U+00A0) + * + * @path ch07/7.2/S7.2_A3.5_T1.js + * @description Use NO-BREAK SPACE(\u00A0) + */ + +// CHECK#1 +eval("//\u00A0 single line \u00A0 comment \u00A0"); + +//CHECK#2 +var x = 0; +eval("//\u00A0 single line \u00A0 comment \u00A0 x = 1;"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("//\\u00A0 single line \\u00A0 comment \\u00A0 x = 1;"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A3.5_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A3.5_T2.js new file mode 100644 index 000000000..2085a3b38 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A3.5_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comment can contain NO-BREAK SPACE (U+00A0) + * + * @path ch07/7.2/S7.2_A3.5_T2.js + * @description Use real NO-BREAK SPACE + */ + +//CHECK#1 +var x = 0; +// single line comment x = 1; +if (x !== 0) { + $ERROR('#1: var x = 0; // single line comment x = 1; x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.1_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.1_T1.js new file mode 100644 index 000000000..6881a144f --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.1_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain HORIZONTAL TAB (U+0009) + * + * @path ch07/7.2/S7.2_A4.1_T1.js + * @description Use HORIZONTAL TAB(\u0009) + */ + +// CHECK#1 +eval("/*\u0009 multi line \u0009 comment \u0009*/"); + +//CHECK#2 +var x = 0; +eval("/*\u0009 multi line \u0009 comment \u0009 x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u0009 multi line \\u0009 comment \\u0009 x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.1_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.1_T2.js new file mode 100644 index 000000000..a7d7cb758 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.1_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain HORIZONTAL TAB (U+0009) + * + * @path ch07/7.2/S7.2_A4.1_T2.js + * @description Use real HORIZONTAL TAB + */ + +/*CHECK#1*/ +var x = 0; +/* multi line comment x = 1;*/ +if (x !== 0) { + $ERROR('#1: var x = 0; /* multi line comment x = 1;*/ x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.2_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.2_T1.js new file mode 100644 index 000000000..a3361d47c --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.2_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain VERTICAL TAB (U+000B) + * + * @path ch07/7.2/S7.2_A4.2_T1.js + * @description Use VERTICAL TAB(\u000B) + */ + +// CHECK#1 +eval("/*\u000B multi line \u000B comment \u000B*/"); + +//CHECK#2 +var x = 0; +eval("/*\u000B multi line \u000B comment \u000B x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u000B multi line \\u000B comment \\u000B x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.2_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.2_T2.js new file mode 100644 index 000000000..87ef32235 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.2_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain VERTICAL TAB (U+000B) + * + * @path ch07/7.2/S7.2_A4.2_T2.js + * @description Use real VERTICAL TAB + */ + +/*CHECK#1*/ +var x = 0; +/*multilinecommentx = 1;*/ +if (x !== 0) { + $ERROR('#1: var x = 0; /*multilinecommentx = 1;*/ x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.3_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.3_T1.js new file mode 100644 index 000000000..689d28790 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.3_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain FORM FEED (U+000C) + * + * @path ch07/7.2/S7.2_A4.3_T1.js + * @description Use FORM FEED(\u000C) + */ + +// CHECK#1 +eval("/*\u000C multi line \u000C comment \u000C*/"); + +//CHECK#2 +var x = 0; +eval("/*\u000C multi line \u000C comment \u000C x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u000C multi line \\u000C comment \\u000C x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.3_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.3_T2.js new file mode 100644 index 000000000..f6f404372 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.3_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain FORM FEED (U+000C) + * + * @path ch07/7.2/S7.2_A4.3_T2.js + * @description Use real FORM FEED + */ + +/*CHECK#1*/ +var x = 0; +/*multilinecommentx = 1;*/ +if (x !== 0) { + $ERROR('#1: var x = 0; /*multilinecommentx = 1;*/ x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.4_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.4_T1.js new file mode 100644 index 000000000..9f5908e17 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.4_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain SPACE (U+0020) + * + * @path ch07/7.2/S7.2_A4.4_T1.js + * @description Use SPACE(\u0020) + */ + +// CHECK#1 +eval("/*\u0020 multi line \u0020 comment \u0020*/"); + +//CHECK#2 +var x = 0; +eval("/*\u0020 multi line \u0020 comment \u0020 x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u0020 multi line \\u0020 comment \\u0020 x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.4_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.4_T2.js new file mode 100644 index 000000000..ce446861e --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.4_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain SPACE (U+0020) + * + * @path ch07/7.2/S7.2_A4.4_T2.js + * @description Use real SPACE + */ + +/*CHECK#1*/ +var x = 0; +/* multi line comment x = 1;*/ +if (x !== 0) { + $ERROR('#1: var x = 0; /* multi line comment x = 1;*/ x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.5_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.5_T1.js new file mode 100644 index 000000000..cef5216e3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.5_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain NO-BREAK SPACE (U+00A0) + * + * @path ch07/7.2/S7.2_A4.5_T1.js + * @description Use NO-BREAK SPACE(\u00A0) + */ + +// CHECK#1 +eval("/*\u00A0 multi line \u00A0 comment \u00A0*/"); + +//CHECK#2 +var x = 0; +eval("/*\u00A0 multi line \u00A0 comment \u00A0 x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u00A0 multi line \\u00A0 comment \\u00A0 x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A4.5_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A4.5_T2.js new file mode 100644 index 000000000..c4457c432 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A4.5_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain NO-BREAK SPACE (U+00A0) + * + * @path ch07/7.2/S7.2_A4.5_T2.js + * @description Use real NO-BREAK SPACE + */ + +/*CHECK#1*/ +var x = 0; +/* multi line comment x = 1;*/ +if (x !== 0) { + $ERROR('#1: var x = 0; /* multi line comment x = 1;*/ x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A5_T1.js b/js/src/tests/test262/ch07/7.2/S7.2_A5_T1.js new file mode 100644 index 000000000..6fb19c55d --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A5_T1.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.2/S7.2_A5_T1.js + * @description Use TAB (U+0009) + * @negative + */ + +var\u0009x; + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A5_T2.js b/js/src/tests/test262/ch07/7.2/S7.2_A5_T2.js new file mode 100644 index 000000000..1036b4ffa --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A5_T2.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.2/S7.2_A5_T2.js + * @description Use VERTICAL TAB (U+000B) + * @negative + */ + +var\u000Bx; + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A5_T3.js b/js/src/tests/test262/ch07/7.2/S7.2_A5_T3.js new file mode 100644 index 000000000..4eb8212cd --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A5_T3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.2/S7.2_A5_T3.js + * @description Use FORM FEED (U+000C) + * @negative + */ + +var\u000Cx; + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A5_T4.js b/js/src/tests/test262/ch07/7.2/S7.2_A5_T4.js new file mode 100644 index 000000000..9a47a618d --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A5_T4.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.2/S7.2_A5_T4.js + * @description Use SPACE (U+0020) + * @negative + */ + +var\u0020x; + diff --git a/js/src/tests/test262/ch07/7.2/S7.2_A5_T5.js b/js/src/tests/test262/ch07/7.2/S7.2_A5_T5.js new file mode 100644 index 000000000..5076c3b24 --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/S7.2_A5_T5.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * White space cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.2/S7.2_A5_T5.js + * @description Use NO-BREAK SPACE (U+00A0) + * @negative + */ + +var\u00A0x; + diff --git a/js/src/tests/test262/ch07/7.2/browser.js b/js/src/tests/test262/ch07/7.2/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/browser.js diff --git a/js/src/tests/test262/ch07/7.2/shell.js b/js/src/tests/test262/ch07/7.2/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.2/shell.js diff --git a/js/src/tests/test262/ch07/7.3/7.3-1.js b/js/src/tests/test262/ch07/7.3/7.3-1.js new file mode 100644 index 000000000..3309e649a --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-1.js @@ -0,0 +1,16 @@ +/// 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 ch07/7.3/7.3-1.js
+ * @description 7.3 - ES5 recognizes the character <LS> (\u2028) as line terminators when parsing statements
+ */
+
+
+function testcase() {
+ eval("var test7_3_1\u2028prop = 66;");
+ return (prop === 66) && ((typeof test7_3_1) === "undefined");
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-10.js b/js/src/tests/test262/ch07/7.3/7.3-10.js new file mode 100644 index 000000000..141841b9c --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-10.js @@ -0,0 +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 ch07/7.3/7.3-10.js
+ * @description 7.3 - ES5 recognizes the character <PS> (\u2029) as a NonEscapeCharacter
+ */
+
+
+function testcase() {
+ try {
+ eval("var prop = \\u2029;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-11.js b/js/src/tests/test262/ch07/7.3/7.3-11.js new file mode 100644 index 000000000..42116da20 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-11.js @@ -0,0 +1,19 @@ +/// 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 ch07/7.3/7.3-11.js
+ * @description 7.3 - ES5 specifies that a multiline comment that contains a line terminator character <LS> (\u2028) must be treated as a single line terminator for the purposes of semicolon insertion
+ */
+
+
+function testcase() {
+ /*MultiLine
+ Comments
+ \u2028 var = ;
+ */
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-12.js b/js/src/tests/test262/ch07/7.3/7.3-12.js new file mode 100644 index 000000000..b993f5bde --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-12.js @@ -0,0 +1,19 @@ +/// 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 ch07/7.3/7.3-12.js
+ * @description 7.3 - ES5 specifies that a multiline comment that contains a line terminator character <PS> (\u2029) must be treated as a single line terminator for the purposes of semicolon insertion
+ */
+
+
+function testcase() {
+ /*MultiLine
+ Comments
+ \u2029 var = ;
+ */
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-13.js b/js/src/tests/test262/ch07/7.3/7.3-13.js new file mode 100644 index 000000000..d7f941c38 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-13.js @@ -0,0 +1,19 @@ +/// 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 ch07/7.3/7.3-13.js
+ * @description 7.3 - ES5 specifies that a multiline comment that contains a line terminator character <CR> (\u000D) must be treated as a single line terminator for the purposes of semicolon insertion
+ */
+
+
+function testcase() {
+ /*MultiLine
+ Comments
+ \u000D var = ;
+ */
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-14.js b/js/src/tests/test262/ch07/7.3/7.3-14.js new file mode 100644 index 000000000..8f973ae06 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-14.js @@ -0,0 +1,19 @@ +/// 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 ch07/7.3/7.3-14.js
+ * @description 7.3 - ES5 specifies that a multiline comment that contains a line terminator character <LF> (\u000A) must be treated as a single line terminator for the purposes of semicolon insertion
+ */
+
+
+function testcase() {
+ /*MultiLine
+ Comments
+ \u000A var = ;
+ */
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-15.js b/js/src/tests/test262/ch07/7.3/7.3-15.js new file mode 100644 index 000000000..7dc88a644 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-15.js @@ -0,0 +1,16 @@ +/// 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 ch07/7.3/7.3-15.js
+ * @description 7.3 - ES5 recognize <BOM> (\uFFFF) as a whitespace character
+ */
+
+
+function testcase() {
+ var prop = "a\uFFFFa";
+ return prop.length === 3 && prop !== "aa" && prop[1] === "\uFFFF";
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-2.js b/js/src/tests/test262/ch07/7.3/7.3-2.js new file mode 100644 index 000000000..95fb24280 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-2.js @@ -0,0 +1,16 @@ +/// 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 ch07/7.3/7.3-2.js
+ * @description 7.3 - ES5 recognizes the character <PS> (\u2029) as line terminators when parsing statements
+ */
+
+
+function testcase() {
+ eval("var test7_3_2\u2029prop = 66;");
+ return (prop===66) && ((typeof test7_3_2) === "undefined");
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-3.js b/js/src/tests/test262/ch07/7.3/7.3-3.js new file mode 100644 index 000000000..5a05cd16e --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-3.js @@ -0,0 +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 ch07/7.3/7.3-3.js
+ * @description 7.3 - ES5 recognizes the character <LS> (\u2028) as terminating SingleLineComments
+ */
+
+
+function testcase() {
+ try {
+ eval("//Single Line Comments\u2028 var =;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-4.js b/js/src/tests/test262/ch07/7.3/7.3-4.js new file mode 100644 index 000000000..41285cb46 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-4.js @@ -0,0 +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 ch07/7.3/7.3-4.js
+ * @description 7.3 - ES5 recognizes the character <PS> (\u2029) as terminating SingleLineComments
+ */
+
+
+function testcase() {
+ try {
+ eval("//Single Line Comments\u2029 var =;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-5.js b/js/src/tests/test262/ch07/7.3/7.3-5.js new file mode 100644 index 000000000..ad65ebbf2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-5.js @@ -0,0 +1,16 @@ +/// 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 ch07/7.3/7.3-5.js
+ * @description 7.3 - ES5 recognizes the character <LS> (\u2028) as terminating string literal
+ */
+
+
+function testcase() {
+ var prop = "66\u2028123";
+ return prop === "66\u2028123" && prop[2] === "\u2028" && prop.length === 6;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-6.js b/js/src/tests/test262/ch07/7.3/7.3-6.js new file mode 100644 index 000000000..5035eae1c --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-6.js @@ -0,0 +1,16 @@ +/// 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 ch07/7.3/7.3-6.js
+ * @description 7.3 - ES5 recognizes the character <PS> (\u2029) as terminating string literal
+ */
+
+
+function testcase() {
+ var prop = "66\u2029123";
+ return prop === "66\u2029123" && prop[2] === "\u2029" && prop.length === 6;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-7.js b/js/src/tests/test262/ch07/7.3/7.3-7.js new file mode 100644 index 000000000..641117ddf --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-7.js @@ -0,0 +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 ch07/7.3/7.3-7.js
+ * @description 7.3 - ES5 recognizes the character <LS> (\u2028) as terminating regular expression literals
+ */
+
+
+function testcase() {
+ try {
+ eval("var regExp = /[\u2028]/");
+ regExp.test("");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-8.js b/js/src/tests/test262/ch07/7.3/7.3-8.js new file mode 100644 index 000000000..7ac4481b1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-8.js @@ -0,0 +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 ch07/7.3/7.3-8.js
+ * @description 7.3 - ES5 recognizes the character <PS> (\u2029) as terminating regular expression literals
+ */
+
+
+function testcase() {
+ try {
+ eval("var regExp = /[\u2029]/");
+ regExp.test("");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/7.3-9.js b/js/src/tests/test262/ch07/7.3/7.3-9.js new file mode 100644 index 000000000..53e964491 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/7.3-9.js @@ -0,0 +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 ch07/7.3/7.3-9.js
+ * @description 7.3 - ES5 recognizes the character <LS> (\u2028) as a NonEscapeCharacter
+ */
+
+
+function testcase() {
+ try {
+ eval("var prop = \\u2028;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A1.1_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A1.1_T1.js new file mode 100644 index 000000000..b5814c2e0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A1.1_T1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * LINE FEED (U+000A) may occur between any two tokens + * + * @path ch07/7.3/S7.3_A1.1_T1.js + * @description Insert LINE FEED (\u000A and \n) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u000Avar\u000Ax\u000A=\u000A1\u000A"); +if (x !== 1) { + $ERROR('#1: eval("\\u000Avar\\u000Ax\\u000A=\\u000A1\\u000A"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u000A" + "var" + "\u000A" + "x" + "\u000A" + "=" + "\u000A" + "1" + "\u000A"); +if (x !== 1) { + $ERROR('#2: eval("\\u000A" + "var" + "\\u000A" + "x" + "\\u000A" + "=" + "\\u000A" + "1" + "\\u000A"); x === 1. Actual: ' + (x)); +} + +//CHECK#3 +eval("\nvar\nx\n=\n1\n"); +if (x !== 1) { + $ERROR('#3: eval("\\nvar\\nx\\n=\\n1\\n"); x === 1. Actual: ' + (x)); +} + +//CHECK#4 +eval("\n" + "var" + "\n" + "x" + "\n" + "=" + "\n" + "1" + "\n"); +if (x !== 1) { + $ERROR('#4: eval("\\n" + "var" + "\\n" + "x" + "\\n" + "=" + "\\n" + "1" + "\\n"); x === 1. Actual: ' + (x)); +} + +//CHECK#5 +eval("\u000A" + "var" + "\n" + "x" + "\u000A" + "=" + "\n" + "1" + "\u000A"); +if (x !== 1) { + $ERROR('#5: eval("\\u000A" + "var" + "\\n" + "x" + "\\u000A" + "=" + "\\n" + "1" + "\\u000A"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A1.1_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A1.1_T2.js new file mode 100644 index 000000000..b4780361b --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A1.1_T2.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * LINE FEED (U+000A) may occur between any two tokens + * + * @path ch07/7.3/S7.3_A1.1_T2.js + * @description Insert real LINE FEED between tokens of var x=1 + */ + +//CHECK#1 +var +x += +1; +if (x !== 1) { + $ERROR('#1: var\\nx\\n=\\n1\\n; x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A1.2_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A1.2_T1.js new file mode 100644 index 000000000..bb11122f7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A1.2_T1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CARRIAGE RETURN (U+000D) may occur between any two tokens + * + * @path ch07/7.3/S7.3_A1.2_T1.js + * @description Insert CARRIAGE RETURN (\u000D and \r) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u000Dvar\u000Dx\u000D=\u000D1\u000D"); +if (x !== 1) { + $ERROR('#1: eval("\\u000Dvar\\u000Dx\\u000D=\\u000D1\\u000D"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u000D" + "var" + "\u000D" + "x" + "\u000D" + "=" + "\u000D" + "1" + "\u000D"); +if (x !== 1) { + $ERROR('#2: eval("\\u000D" + "var" + "\\u000D" + "x" + "\\u000D" + "=" + "\\u000D" + "1" + "\\u000D"); x === 1. Actual: ' + (x)); +} + +//CHECK#3 +eval("\rvar\rx\r=\r1\r"); +if (x !== 1) { + $ERROR('#3: eval("\\rvar\\rx\\r=\\r1\\r"); x === 1. Actual: ' + (x)); +} + +//CHECK#4 +eval("\r" + "var" + "\r" + "x" + "\r" + "=" + "\r" + "1" + "\r"); +if (x !== 1) { + $ERROR('#4: eval("\\r" + "var" + "\\r" + "x" + "\\r" + "=" + "\\r" + "1" + "\\r"); x === 1. Actual: ' + (x)); +} + +//CHECK#5 +eval("\u000D" + "var" + "\r" + "x" + "\u000D" + "=" + "\r" + "1" + "\u000D"); +if (x !== 1) { + $ERROR('#5: eval("\\u000D" + "var" + "\\r" + "x" + "\\u000D" + "=" + "\\r" + "1" + "\\u000D"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A1.2_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A1.2_T2.js new file mode 100644 index 000000000..52fb9b52a --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A1.2_T2.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CARRIAGE RETURN (U+000D) may occur between any two tokens + * + * @path ch07/7.3/S7.3_A1.2_T2.js + * @description Insert real CARRIAGE RETURN between tokens of var x=1 + */ + +//CHECK#1 +var +x += +1; +if (x !== 1) { + $ERROR('#1: var\\nx\\n=\\n1\\n; x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A1.3.js b/js/src/tests/test262/ch07/7.3/S7.3_A1.3.js new file mode 100644 index 000000000..bf8281937 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A1.3.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * LINE SEPARATOR (U+2028) may occur between any two tokens + * + * @path ch07/7.3/S7.3_A1.3.js + * @description Insert LINE SEPARATOR (\u2028) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u2028var\u2028x\u2028=\u20281\u2028"); +if (x !== 1) { + $ERROR('#1: eval("\\u2028var\\u2028x\\u2028=\\u20281\\u2028"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u2028" + "var" + "\u2028" + "x" + "\u2028" + "=" + "\u2028" + "1" + "\u2028"); +if (x !== 1) { + $ERROR('#2: eval("\\u2028" + "var" + "\\u2028" + "x" + "\\u2028" + "=" + "\\u2028" + "1" + "\\u2028"); x === 1. Actual: ' + (x)); +} + + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A1.4.js b/js/src/tests/test262/ch07/7.3/S7.3_A1.4.js new file mode 100644 index 000000000..f761d0376 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A1.4.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * PARAGRAPH SEPARATOR (U+2029) may occur between any two tokens + * + * @path ch07/7.3/S7.3_A1.4.js + * @description Insert PARAGRAPH SEPARATOR (\u2029) between tokens of var x=1 + */ + +// CHECK#1 +eval("\u2029var\u2029x\u2029=\u20291\u2029"); +if (x !== 1) { + $ERROR('#1: eval("\\u2029var\\u2029x\\u2029=\\u20291\\u2029"); x === 1. Actual: ' + (x)); +} + +//CHECK#2 +eval("\u2029" + "var" + "\u2029" + "x" + "\u2029" + "=" + "\u2029" + "1" + "\u2029"); +if (x !== 1) { + $ERROR('#2: eval("\\u2029" + "var" + "\\u2029" + "x" + "\\u2029" + "=" + "\\u2029" + "1" + "\\u2029"); x === 1. Actual: ' + (x)); +} + + + + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A2.1_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A2.1_T1.js new file mode 100644 index 000000000..16cb25e69 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A2.1_T1.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * LINE FEED (U+000A) within strings is not allowed + * + * @path ch07/7.3/S7.3_A2.1_T1.js + * @description Insert LINE FEED (\u000A) into string + * @negative + */ + +// CHECK#1 +if (eval("'\u000Astr\u000Aing\u000A'") === "\u000Astr\u000Aing\u000A") { + $ERROR('#1: eval("\'\\u000Astr\\u000Aing\\u000A\'") === "\\u000Astr\\u000Aing\\u000A"'); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A2.1_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A2.1_T2.js new file mode 100644 index 000000000..f587ec97e --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A2.1_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * LINE FEED (U+000A) within strings is not allowed + * + * @path ch07/7.3/S7.3_A2.1_T2.js + * @description Use real LINE FEED into string + * @negative + */ + +//CHECK#1 +" +str +ing +"; + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A2.2_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A2.2_T1.js new file mode 100644 index 000000000..b58d20227 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A2.2_T1.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CARRIAGE RETURN (U+000D) within strings is not allowed + * + * @path ch07/7.3/S7.3_A2.2_T1.js + * @description Insert CARRIAGE RETURN (\u000D) into string + * @negative + */ + +// CHECK#1 +if (eval("'\u000Dstr\u000Ding\u000D'") === "\u000Dstr\u000Ding\u000D") { + $ERROR('#1: eval("\'\\u000Dstr\\u000Ding\\u000D\'") === "\\u000Dstr\\u000Ding\\u000D"'); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A2.2_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A2.2_T2.js new file mode 100644 index 000000000..9e8c5e30d --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A2.2_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CARRIAGE RETURN (U+000D) within strings is not allowed + * + * @path ch07/7.3/S7.3_A2.2_T2.js + * @description Insert real CARRIAGE RETURN into string + * @negative + */ + +//CHECK#1 +" +str +ing +"; + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A2.3.js b/js/src/tests/test262/ch07/7.3/S7.3_A2.3.js new file mode 100644 index 000000000..645dfaaf3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A2.3.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * LINE SEPARATOR (U+2028) within strings is not allowed + * + * @path ch07/7.3/S7.3_A2.3.js + * @description Insert LINE SEPARATOR (\u2028) into string + * @negative + */ + +// CHECK#1 +if (eval("'\u2028str\u2028ing\u2028'") === "\u2028str\u2028ing\u2028") { + $ERROR('#1: eval("\'\\u2028str\\u2028ing\\u2028\'") === "\\u2028str\\u2028ing\\u2028"'); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A2.4.js b/js/src/tests/test262/ch07/7.3/S7.3_A2.4.js new file mode 100644 index 000000000..00e185037 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A2.4.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * PARAGRAPH SEPARATOR (U+2029) within strings is not allowed + * + * @path ch07/7.3/S7.3_A2.4.js + * @description Insert PARAGRAPH SEPARATOR (\u2029) into string + * @negative + */ + +// CHECK#1 +if (eval("'\u2029str\u2029ing\u2029'") === "\u2029str\u2029ing\u2029") { + $ERROR('#1: eval("\'\\u2029str\\u2029ing\\u2029\'") === "\\u2029str\\u2029ing\\u2029"'); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T1.js new file mode 100644 index 000000000..f44c153cf --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain LINE FEED (U+000A) inside + * + * @path ch07/7.3/S7.3_A3.1_T1.js + * @description Insert LINE FEED (\u000A) into single line comment + * @negative + */ + +// CHECK#1 +eval("// single line \u000A comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T2.js new file mode 100644 index 000000000..cb808a87a --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain LINE FEED (U+000A) inside + * + * @path ch07/7.3/S7.3_A3.1_T2.js + * @description Insert LINE FEED (\u000A) into begin of single line comment + * @negative + */ + +// CHECK#1 +eval("//\u000A single line comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T3.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T3.js new file mode 100644 index 000000000..6394c939c --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.1_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain LINE FEED (U+000A) inside + * + * @path ch07/7.3/S7.3_A3.1_T3.js + * @description Insert real LINE FEED into single line comment + * @negative + */ + +// CHECK#1 +//single +line comment + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T1.js new file mode 100644 index 000000000..2fa270693 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain CARRIAGE RETURN (U+000D) inside + * + * @path ch07/7.3/S7.3_A3.2_T1.js + * @description Insert CARRIAGE RETURN (\u000D) into single line comment + * @negative + */ + +// CHECK#1 +eval("// single line \u000D comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T2.js new file mode 100644 index 000000000..9ffdc5cf9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain CARRIAGE RETURN (U+000D) inside + * + * @path ch07/7.3/S7.3_A3.2_T2.js + * @description Insert CARRIAGE RETURN (\u000D) into begin of single line comment + * @negative + */ + +// CHECK#1 +eval("//\u000D single line comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T3.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T3.js new file mode 100644 index 000000000..d16ee33be --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.2_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain CARRIAGE RETURN (U+000D) inside + * + * @path ch07/7.3/S7.3_A3.2_T3.js + * @description Insert real CARRIAGE RETURN into single line comment + * @negative + */ + +// CHECK#1 +//single +line comment + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.3_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.3_T1.js new file mode 100644 index 000000000..ae926c456 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.3_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain LINE SEPARATOR (U+2028) inside + * + * @path ch07/7.3/S7.3_A3.3_T1.js + * @description Insert LINE SEPARATOR (\u2028) into single line comment + * @negative + */ + +// CHECK#1 +eval("// single line \u2028 comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.3_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.3_T2.js new file mode 100644 index 000000000..43ff45843 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.3_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain LINE SEPARATOR (U+2028) inside + * + * @path ch07/7.3/S7.3_A3.3_T2.js + * @description Insert LINE SEPARATOR (\u2028) into begin of single line comment + * @negative + */ + +// CHECK#1 +eval("//\u2028 single line comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.4_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.4_T1.js new file mode 100644 index 000000000..1a8fae53f --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.4_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside + * + * @path ch07/7.3/S7.3_A3.4_T1.js + * @description Insert PARAGRAPH SEPARATOR (\u2029) into single line comment + * @negative + */ + +// CHECK#1 +eval("// single line \u2029 comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A3.4_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A3.4_T2.js new file mode 100644 index 000000000..8a6c59d8d --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A3.4_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can not contain PARAGRAPH SEPARATOR (U+2029) inside + * + * @path ch07/7.3/S7.3_A3.4_T2.js + * @description Insert PARAGRAPH SEPARATOR (\u2029) into begin of single line comment + * @negative + */ + +// CHECK#1 +eval("//\u2029 single line comment"); + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A4_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A4_T1.js new file mode 100644 index 000000000..df523f9a3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A4_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can contain Line Terminator at the end of line + * + * @path ch07/7.3/S7.3_A4_T1.js + * @description Insert LINE FEED (U+000A) into the end of single line comment + */ + +// CHECK#1 +eval("// single line comment\u000A"); + +// CHECK#2 +var x = 0; +eval("// single line comment\u000A x = 1;"); +if (x !== 1) { + $ERROR('#1: var x = 0; eval("// single line comment\\u000A x = 1;"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A4_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A4_T2.js new file mode 100644 index 000000000..d99dc7dc1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A4_T2.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can contain Line Terminator at the end of line + * + * @path ch07/7.3/S7.3_A4_T2.js + * @description Insert CARRIAGE RETURN (U+000D) into the end of single line comment + */ + +// CHECK#1 +eval("// single line comment\u000D"); + +// CHECK#2 +var x = 0; +eval("// single line comment\u000D x = 1;"); +if (x !== 1) { + $ERROR('#1: var x = 0; eval("// single line comment\\u000D x = 1;"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A4_T3.js b/js/src/tests/test262/ch07/7.3/S7.3_A4_T3.js new file mode 100644 index 000000000..5677bc0cd --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A4_T3.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can contain Line Terminator at the end of line + * + * @path ch07/7.3/S7.3_A4_T3.js + * @description Insert LINE SEPARATOR (U+2028) into the end of single line comment + */ + +// CHECK#1 +eval("// single line comment\u2028"); + +// CHECK#2 +var x = 0; +eval("// single line comment\u2028 x = 1;"); +if (x !== 1) { + $ERROR('#1: var x = 0; eval("// single line comment\\u2028 x = 1;"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A4_T4.js b/js/src/tests/test262/ch07/7.3/S7.3_A4_T4.js new file mode 100644 index 000000000..c34f0e15e --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A4_T4.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can contain Line Terminator at the end of line + * + * @path ch07/7.3/S7.3_A4_T4.js + * @description Insert PARAGRAPH SEPARATOR (U+2029) into the end of single line comment + */ + +// CHECK#1 +eval("// single line comment\u2029"); + +// CHECK#2 +var x = 0; +eval("// single line comment\u2029 x = 1;"); +if (x !== 1) { + $ERROR('#1: var x = 0; eval("// single line comment\\u2029 x = 1;"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A5.1_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A5.1_T1.js new file mode 100644 index 000000000..fe8d7173e --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A5.1_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain LINE FEED (U+000A) + * + * @path ch07/7.3/S7.3_A5.1_T1.js + * @description Insert LINE FEED (U+000A) into multi line comment + */ + +// CHECK#1 +eval("/*\u000A multi line \u000A comment \u000A*/"); + +//CHECK#2 +var x = 0; +eval("/*\u000A multi line \u000A comment \u000A x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u000A multi line \\u000A comment \\u000A x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A5.1_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A5.1_T2.js new file mode 100644 index 000000000..661df860e --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A5.1_T2.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain LINE FEED (U+000A) + * + * @path ch07/7.3/S7.3_A5.1_T2.js + * @description Insert real LINE FEED into multi line comment + */ + +/*CHECK#1*/ +var x = 0; +/* +multi +line +comment +x = 1; +*/ +if (x !== 0) { + $ERROR('#1: var x = 0; /*\\nmulti\\nline\\ncomment\\nx = 1;\\n*/ x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A5.2_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A5.2_T1.js new file mode 100644 index 000000000..20c5dd194 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A5.2_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain CARRIAGE RETURN (U+000D) + * + * @path ch07/7.3/S7.3_A5.2_T1.js + * @description Insert CARRIAGE RETURN (U+000D) into multi line comment + */ + +// CHECK#1 +eval("/*\u000D multi line \u000D comment \u000D*/"); + +//CHECK#2 +var x = 0; +eval("/*\u000D multi line \u000D comment \u000D x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u000D multi line \\u000D comment \\u000D x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A5.2_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A5.2_T2.js new file mode 100644 index 000000000..a83a2be2d --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A5.2_T2.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain CARRIAGE RETURN (U+000D) + * + * @path ch07/7.3/S7.3_A5.2_T2.js + * @description Insert real CARRIAGE RETURN into multi line comment + */ + +/*CHECK#1*/ +var x = 0; +/* +multi +line +comment +x = 1; +*/ +if (x !== 0) { + $ERROR('#1: var x = 0; /*\\rmulti\\rline\\rcomment\\rx = 1;\\r*/ x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A5.3.js b/js/src/tests/test262/ch07/7.3/S7.3_A5.3.js new file mode 100644 index 000000000..501392bc0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A5.3.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain LINE SEPARATOR (U+2028) + * + * @path ch07/7.3/S7.3_A5.3.js + * @description Insert LINE SEPARATOR (U+2028) into multi line comment + */ + +// CHECK#1 +eval("/*\u2028 multi line \u2028 comment \u2028*/"); + +//CHECK#2 +var x = 0; +eval("/*\u2028 multi line \u2028 comment \u2028 x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u2028 multi line \\u2028 comment \\u2028 x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A5.4.js b/js/src/tests/test262/ch07/7.3/S7.3_A5.4.js new file mode 100644 index 000000000..8f8597477 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A5.4.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comment can contain LINE SEPARATOR (U+2029) + * + * @path ch07/7.3/S7.3_A5.4.js + * @description Insert PARAGRAPH SEPARATOR (U+2029) into multi line comment + */ + +// CHECK#1 +eval("/*\u2029 multi line \u2029 comment \u2029*/"); + +//CHECK#2 +var x = 0; +eval("/*\u2029 multi line \u2029 comment \u2029 x = 1;*/"); +if (x !== 0) { + $ERROR('#1: var x = 0; eval("/*\\u2029 multi line \\u2029 comment \\u2029 x = 1;*/"); x === 0. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A6_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A6_T1.js new file mode 100644 index 000000000..89b3751f6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A6_T1.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.3/S7.3_A6_T1.js + * @description Insert LINE FEED (U+000A) in var x + * @negative + */ + +var\u000Ax; + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A6_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A6_T2.js new file mode 100644 index 000000000..3dc52d206 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A6_T2.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.3/S7.3_A6_T2.js + * @description Insert CARRIAGE RETURN (U+000D) in var x + * @negative + */ + +var\u000Dx; + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A6_T3.js b/js/src/tests/test262/ch07/7.3/S7.3_A6_T3.js new file mode 100644 index 000000000..62d6ef10f --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A6_T3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.3/S7.3_A6_T3.js + * @description Insert LINE SEPARATOR (U+2028) in var x + * @negative + */ + +var\u2028x; + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A6_T4.js b/js/src/tests/test262/ch07/7.3/S7.3_A6_T4.js new file mode 100644 index 000000000..cd5d2d40a --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A6_T4.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.3/S7.3_A6_T4.js + * @description Insert PARAGRAPH SEPARATOR (U+2029) in var x + * @negative + */ + +var\u2029x; + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T1.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T1.js new file mode 100644 index 000000000..861b737e4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T1.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T1.js + * @description Insert Line Terminator in var x=y+z + */ + +// CHECK#1 +var y=2; +var z=3; +var +x += +y ++ +z +; +if (x !== 5) { + $ERROR('#1: var\\nx\\n=\\ny\\n+\\nz\\n; x === 5. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=2; +var z=3; +var +x += +y ++ +z +; +if (x !== 5) { + $ERROR('#2: var\\nx\\n=\\ny\\n+\\nz\\n; x === 5. Actual: ' + (x)); +} +x=0; + +// CHECK#3 +var y=2; +var z=3; +eval("\u2028var\u2028x\u2028=\u2028y\u2028+\u2028z\u2028"); +if (x !== 5) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028+\\u2028z\\u2028"); x === 5. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=2; +var z=3; +eval("\u2029var\u2029x\u2029=\u2029y\u2029+\u2029z\u2029"); +if (x !== 5) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029+\\u2029z\\u2029"); x === 5. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T2.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T2.js new file mode 100644 index 000000000..cdc5801c9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T2.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T2.js + * @description Insert Line Terminator in var x=y-z + */ + +// CHECK#1 +var y=3; +var z=2; +var +x += +y +- +z +; +if (x !== 1) { + $ERROR('#1: var\\nx\\n=\\ny\\n-\\nz\\n; x === 1. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=3; +var z=2; +var +x += +y +- +z +; +if (x !== 1) { + $ERROR('#2: var\\nx\\n=\\ny\\n-\\nz\\n; x === 1. Actual: ' + (x)); +} +x=0; + +// CHECK#3 +var y=3; +var z=2; +eval("\u2028var\u2028x\u2028=\u2028y\u2028-\u2028z\u2028"); +if (x !== 1) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028-\\u2028z\\u2028"); x === 1. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=3; +var z=2; +eval("\u2029var\u2029x\u2029=\u2029y\u2029-\u2029z\u2029"); +if (x !== 1) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029-\\u2029z\\u2029"); x === 1. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T3.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T3.js new file mode 100644 index 000000000..1c83956da --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T3.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T3.js + * @description Insert Line Terminator in var x=y*z + */ + +// CHECK#1 +var y=3; +var z=2; +var +x += +y +* +z +; +if (x !== 6) { + $ERROR('#1: var\\nx\\n=\\ny\\n*\\nz\\n; x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=3; +var z=2; +var +x += +y +* +z +; +if (x !== 6) { + $ERROR('#2: var\\nx\\n=\\ny\\n*\\nz\\n; x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#3 +var y=3; +var z=2; +eval("\u2028var\u2028x\u2028=\u2028y\u2028*\u2028z\u2028"); +if (x !== 6) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028*\\u2028z\\u2028"); x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=3; +var z=2; +eval("\u2029var\u2029x\u2029=\u2029y\u2029*\u2029z\u2029"); +if (x !== 6) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029*\\u2029z\\u2029"); x === 6. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T4.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T4.js new file mode 100644 index 000000000..fad60b4cb --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T4.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T4.js + * @description Insert Line Terminator in var x=y/z + */ + +// CHECK#1 +var y=12; +var z=2; +var +x += +y +/ +z +; +if (x !== 6) { + $ERROR('#1: var\\nx\\n=\\ny\\n/\\nz\\n; x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=12; +var z=2; +var +x += +y +/ +z +; +if (x !== 6) { + $ERROR('#2: var\\nx\\n=\\ny\\n/\\nz\\n; x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#3 +var y=12; +var z=2; +eval("\u2028var\u2028x\u2028=\u2028y\u2028/\u2028z\u2028"); +if (x !== 6) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028/\\u2028z\\u2028"); x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=12; +var z=2; +eval("\u2029var\u2029x\u2029=\u2029y\u2029/\u2029z\u2029"); +if (x !== 6) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029/\\u2029z\\u2029"); x === 6. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T5.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T5.js new file mode 100644 index 000000000..f7aff0122 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T5.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T5.js + * @description Insert Line Terminator in var x=y%z + */ + +// CHECK#1 +var y=16; +var z=10; +var +x += +y +% +z +; +if (x !== 6) { + $ERROR('#1: var\\nx\\n=\\ny\\n%\\nz\\n; x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=16; +var z=10; +var +x += +y +% +z +; +if (x !== 6) { + $ERROR('#2: var\\nx\\n=\\ny\\n%\\nz\\n; x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#3 +var y=16; +var z=10; +eval("\u2028var\u2028x\u2028=\u2028y\u2028%\u2028z\u2028"); +if (x !== 6) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028%\\u2028z\\u2028"); x === 6. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=16; +var z=10; +eval("\u2029var\u2029x\u2029=\u2029y\u2029%\u2029z\u2029"); +if (x !== 6) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029%\\u2029z\\u2029"); x === 6. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T6.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T6.js new file mode 100644 index 000000000..9dc8c0141 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T6.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T6.js + * @description Insert Line Terminator in var x=y>>z + */ + +// CHECK#1 +var y=16; +var z=3; +var +x += +y +>> +z +; +if (x !== 2) { + $ERROR('#1: var\\nx\\n=\\ny\\n>>\\nz\\n; x === 2. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=16; +var z=3; +var +x += +y +>> +z +; +if (x !== 2) { + $ERROR('#2: var\\nx\\n=\\ny\\n>>\\nz\\n; x === 2. Actual: ' + (x)); +} +x=0; + +// CHECK#3 +var y=16; +var z=3; +eval("\u2028var\u2028x\u2028=\u2028y\u2028>>\u2028z\u2028"); +if (x !== 2) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028>>\\u2028z\\u2028"); x === 2. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=16; +var z=3; +eval("\u2029var\u2029x\u2029=\u2029y\u2029>>\u2029z\u2029"); +if (x !== 2) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029>>\\u2029z\\u2029"); x === 2. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T7.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T7.js new file mode 100644 index 000000000..510b958c4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T7.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T7.js + * @description Insert Line Terminator in var x=y<<z + */ + +// CHECK#1 +var y=2; +var z=3; +var +x += +y +<< +z +; +if (x !== 16) { + $ERROR('#1: var\\nx\\n=\\ny\\n<<\\nz\\n; x === 16. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=2; +var z=3; +var +x += +y +<< +z +; +if (x !== 16) { + $ERROR('#2: var\\nx\\n=\\ny\\n<<\\nz\\n; x ===16 '); +} +x=0; + +// CHECK#3 +var y=2; +var z=3; +eval("\u2028var\u2028x\u2028=\u2028y\u2028<<\u2028z\u2028"); +if (x !== 16) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028<<\\u2028z\\u2028"); x === 16. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=2; +var z=3; +eval("\u2029var\u2029x\u2029=\u2029y\u2029<<\u2029z\u2029"); +if (x !== 16) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029<<\\u2029z\\u2029"); x === 16. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/S7.3_A7_T8.js b/js/src/tests/test262/ch07/7.3/S7.3_A7_T8.js new file mode 100644 index 000000000..1b55b96ce --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/S7.3_A7_T8.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Line Terminators between operators are allowed + * + * @path ch07/7.3/S7.3_A7_T8.js + * @description Insert Line Terminator in var x=y<z + */ + +// CHECK#1 +var y=2; +var z=3; +var +x += +y +< +z +; +if (x !== true) { + $ERROR('#1: var\\nx\\n=\\ny\\n<\\nz\\n; x === true. Actual: ' + (x)); +} +x=0; + +// CHECK#2 +var y=2; +var z=3; +var +x += +y +< +z +; +if (x !== true) { + $ERROR('#2: var\\nx\\n=\\ny\\n<\\nz\\n; x === true. Actual: ' + (x)); +} +x=0; + +// CHECK#3 +var y=2; +var z=3; +eval("\u2028var\u2028x\u2028=\u2028y\u2028<\u2028z\u2028"); +if (x !== true) { + $ERROR('#3: eval("\\u2028var\\u2028x\\u2028=\\u2028y\\u2028<\\u2028z\\u2028"); x === true. Actual: ' + (x)); +} +x=0; + +// CHECK#4 +var y=2; +var z=3; +eval("\u2029var\u2029x\u2029=\u2029y\u2029<\u2029z\u2029"); +if (x !== true) { + $ERROR('#4: eval("\\u2029var\\u2029x\\u2029=\\u2029y\\u2029<\\u2029z\\u2029"); x === true. Actual: ' + (x)); +} + diff --git a/js/src/tests/test262/ch07/7.3/browser.js b/js/src/tests/test262/ch07/7.3/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/browser.js diff --git a/js/src/tests/test262/ch07/7.3/shell.js b/js/src/tests/test262/ch07/7.3/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.3/shell.js diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A1_T1.js b/js/src/tests/test262/ch07/7.4/S7.4_A1_T1.js new file mode 100644 index 000000000..87bb8ce1a --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A1_T1.js @@ -0,0 +1,44 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of single line comments + * + * @path ch07/7.4/S7.4_A1_T1.js + * @description Create comments with any code + */ + +//CHECK#1 +// $ERROR('#1: Correct interpretation single line comments'); + +//CHECK#2 +var x = 0; +// x = 1; +if (x !== 0) { + $ERROR('#2: var x = 0; // x = 1; x === 0. Actual: ' + (x)); +} + +//CHECK#3 +var // y = 1; +y; +if (y !== undefined) { + $ERROR('#3: var // y = 1; \\n y; y === undefined. Actual: ' + (y)); +} + +//CHECK#4 +//$ERROR('#4: Correct interpretation single line comments') //$ERROR('#4: Correct interpretation single line comments'); // + +////CHECK#5 +//var x = 1; +//if (x === 1) { +// $ERROR('#5: Correct interpretation single line comments'); +//} + +//CHECK#6 +//var this.y = 1; +this.y++; +if (isNaN(y) !== true) { + $ERROR('#6: //var this.y = 1; \\n this.y++; y === Not-a-Number. Actual: ' + (y)); +} + + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A1_T2.js b/js/src/tests/test262/ch07/7.4/S7.4_A1_T2.js new file mode 100644 index 000000000..4d8d8af43 --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A1_T2.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of single line comments + * + * @path ch07/7.4/S7.4_A1_T2.js + * @description Simple test, create empty comment: /// + */ + +//CHECK#1 +/// + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A2_T1.js b/js/src/tests/test262/ch07/7.4/S7.4_A2_T1.js new file mode 100644 index 000000000..97b8e6268 --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A2_T1.js @@ -0,0 +1,78 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of multi line comments + * + * @path ch07/7.4/S7.4_A2_T1.js + * @description Create comments with any code + */ + +/*CHECK#1*/ +/* $ERROR('#1: Correct interpretation multi line comments'); +*/ + +/*CHECK#2*/ +var x = 0; +/* x = 1;*/ +if (x !== 0) { + $ERROR('#2: var x = 0; /* x = 1;*/ x === 0. Actual: ' + (x)); +} + +//CHECK#3 +var /* y = 1;*/ +y; +if (y !== undefined) { + $ERROR('#3: var /* y = 1; */ \\n y; y === undefined. Actual: ' + (y)); +} + +//CHECK#4 +var /* y = 1;*/ y; +if (y !== undefined) { + $ERROR('#4: var /* y = 1; */ y; y === undefined. Actual: ' + (y)); +} + +/*CHECK#5*/ +/*var x = 1; +if (x === 1) { + $ERROR('#5: Correct interpretation multi line comments'); +} +*/ + +/*CHECK#6*/ +/*var this.y = 1;*/ +this.y++; +if (isNaN(y) !== true) { + $ERROR('#6: /*var this.y = 1;*/ \\n this.y++; y === Not-a-Number. Actual: ' + (y)); +} + +//CHECK#7 +var string = "/*var y = 0*/" /* y = 1;*/ +if (string !== "/*var y = 0*/") { +$ERROR('#7: var string = "/*var y = 0*/" /* y = 1;*/ string === "//var y = 0"'); +} + +//CHECK#8 +var string = "/*var y = 0" /* y = 1;*/ +if (string !== "/*var y = 0") { +$ERROR('#8: var string = "/*var y = 0" /* y = 1;*/ string === "//var y = 0"'); +} + +/*CHECK#9*/ +/** $ERROR('#9: Correct interpretation multi line comments'); +*/ + +/*CHECK#10*/ +/* $ERROR('#10: Correct interpretation multi line comments'); +**/ + +/*CHECK#11*/ +/****** $ERROR('#11: Correct interpretation multi line comments');********* +*********** +* + + +********** +**/ + + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A2_T2.js b/js/src/tests/test262/ch07/7.4/S7.4_A2_T2.js new file mode 100644 index 000000000..feb4c9c2b --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A2_T2.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of multi line comments + * + * @path ch07/7.4/S7.4_A2_T2.js + * @description Try use /*CHECK#1/. This is not closed multi line comment + * @negative + */ + +/*CHECK#1/ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A3.js b/js/src/tests/test262/ch07/7.4/S7.4_A3.js new file mode 100644 index 000000000..2efc9fab1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A3.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Multi line comments cannot nest + * + * @path ch07/7.4/S7.4_A3.js + * @description Try use nested comments + * @negative + */ + +/*CHECK#1*/ + +/* +var + +/* x */ += 1; +*/ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A4_T1.js b/js/src/tests/test262/ch07/7.4/S7.4_A4_T1.js new file mode 100644 index 000000000..87c6ace88 --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A4_T1.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single and Multi line comments are used together + * + * @path ch07/7.4/S7.4_A4_T1.js + * @description Try use 2 close comment tags + * @negative + */ + +/*CHECK#1*/ + +/* var*/ +x*/ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A4_T2.js b/js/src/tests/test262/ch07/7.4/S7.4_A4_T2.js new file mode 100644 index 000000000..b64b28e0e --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A4_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single and Multi line comments are used together + * + * @path ch07/7.4/S7.4_A4_T2.js + * @description Fist Multi line comment, then Single line comment + */ + +/*CHECK#1*/ + +/* var +*///x*/ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A4_T3.js b/js/src/tests/test262/ch07/7.4/S7.4_A4_T3.js new file mode 100644 index 000000000..3e39f693a --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A4_T3.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single and Multi line comments are used together + * + * @path ch07/7.4/S7.4_A4_T3.js + * @description Insert Single line comment into Multi line comment + */ + +/*CHECK#1*/ + +/* var +//x +*/ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A4_T4.js b/js/src/tests/test262/ch07/7.4/S7.4_A4_T4.js new file mode 100644 index 000000000..1b5657663 --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A4_T4.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single and Multi line comments are used together + * + * @path ch07/7.4/S7.4_A4_T4.js + * @description Try to open Multi line comment at the end of Single comment + * @negative + */ + +/*CHECK#1*/ + +// var /* +x*/ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A4_T5.js b/js/src/tests/test262/ch07/7.4/S7.4_A4_T5.js new file mode 100644 index 000000000..9a01060ee --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A4_T5.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single and Multi line comments are used together + * + * @path ch07/7.4/S7.4_A4_T5.js + * @description Insert Multi line comment into Single line comment + */ + +/*CHECK#1*/ + +// var /* x */ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A4_T6.js b/js/src/tests/test262/ch07/7.4/S7.4_A4_T6.js new file mode 100644 index 000000000..08c983d7b --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A4_T6.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single and Multi line comments are used together + * + * @path ch07/7.4/S7.4_A4_T6.js + * @description Insert Multi line comment with two closed tags into Single line comment + */ + +/*CHECK#1*/ + +// var /* x / = */ 1 */ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A4_T7.js b/js/src/tests/test262/ch07/7.4/S7.4_A4_T7.js new file mode 100644 index 000000000..a58aa7d5d --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A4_T7.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single and Multi line comments are used together + * + * @path ch07/7.4/S7.4_A4_T7.js + * @description Insert Multi line comment into Single line comments + */ + +/*CHECK#1*/ + +// var /* +// x +// = +// 1*/ + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A5.js b/js/src/tests/test262/ch07/7.4/S7.4_A5.js new file mode 100644 index 000000000..bbdba29de --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A5.js @@ -0,0 +1,49 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Single line comments can contain any Unicode character without Line Terminators + * + * @path ch07/7.4/S7.4_A5.js + * @description //var " + xx + "yy = -1", insert instead of xx all Unicode characters + */ + +//CHECK +var errorCount = 0; +var count = 0; +var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; +for (var i1 = 0; i1 < 16; i1++) { + for (var i2 = 0; i2 < 16; i2++) { + for (var i3 = 0; i3 < 16; i3++) { + for (var i4 = 0; i4 < 16; i4++) { + try { + var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4]; + var xx = String.fromCharCode("0x" + uu); + var LineTerminators = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029")); + var yy = 0; + eval("//var " + xx + "yy = -1"); + if (LineTerminators !== true) { + if (yy !== 0) { + $ERROR('#' + uu + ' '); + errorCount++; + } + } else { + if (yy !== -1) { + $ERROR('#' + uu + ' '); + errorCount++; + } + } + } catch (e){ + $ERROR('#' + uu + ' '); + errorCount++; + } + count++; + } + } + } +} + +if (errorCount > 0) { + $ERROR('Total error: ' + errorCount + ' bad Unicode character in ' + count); +} + diff --git a/js/src/tests/test262/ch07/7.4/S7.4_A6.js b/js/src/tests/test262/ch07/7.4/S7.4_A6.js new file mode 100644 index 000000000..c51790aeb --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/S7.4_A6.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If multi line comments csn not nest, they can contain any Unicode character + * + * @path ch07/7.4/S7.4_A6.js + * @description "var"+ yy+ "xx = 1", insert instead of yy all Unicode characters + */ + +//CHECK +var errorCount = 0; +var count = 0; +for (var indexI = 0; indexI <= 65535; indexI++) { + try { + var xx = 0; + eval("/*var " + String.fromCharCode(indexI) + "xx = 1*/"); + var hex = decimalToHexString(indexI); + if (xx !== 0) { + $ERROR('#' + hex + ' '); + errorCount++; + } + } catch (e){ + $ERROR('#' + hex + ' '); + errorCount++; + } + count++; +} + +if (errorCount > 0) { + $ERROR('Total error: ' + errorCount + ' bad Unicode character in ' + count); +} + +function decimalToHexString(n) { + n = Number(n); + var h = ""; + for (var i = 3; i >= 0; i--) { + if (n >= Math.pow(16, i)) { + var t = Math.floor(n / Math.pow(16, i)); + n -= t * Math.pow(16, i); + if ( t >= 10 ) { + if ( t == 10 ) { h += "A"; } + if ( t == 11 ) { h += "B"; } + if ( t == 12 ) { h += "C"; } + if ( t == 13 ) { h += "D"; } + if ( t == 14 ) { h += "E"; } + if ( t == 15 ) { h += "F"; } + } else { + h += String(t); + } + } else { + h += "0"; + } + } + return h; +} + diff --git a/js/src/tests/test262/ch07/7.4/browser.js b/js/src/tests/test262/ch07/7.4/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/browser.js diff --git a/js/src/tests/test262/ch07/7.4/shell.js b/js/src/tests/test262/ch07/7.4/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.4/shell.js diff --git a/js/src/tests/test262/ch07/7.6/7.6-1.js b/js/src/tests/test262/ch07/7.6/7.6-1.js new file mode 100644 index 000000000..b4bc37326 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-1.js @@ -0,0 +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 ch07/7.6/7.6-1.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: null (null)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u006eull = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-10.js b/js/src/tests/test262/ch07/7.6/7.6-10.js new file mode 100644 index 000000000..36e6ea699 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-10.js @@ -0,0 +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 ch07/7.6/7.6-10.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: new (new)
+ */
+
+
+function testcase() {
+ try {
+ eval("var n\u0065w = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-11.js b/js/src/tests/test262/ch07/7.6/7.6-11.js new file mode 100644 index 000000000..4e5fee3be --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-11.js @@ -0,0 +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 ch07/7.6/7.6-11.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: var (var)
+ */
+
+
+function testcase() {
+ try {
+ eval("var va\u0072 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-12.js b/js/src/tests/test262/ch07/7.6/7.6-12.js new file mode 100644 index 000000000..3d939c8a9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-12.js @@ -0,0 +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 ch07/7.6/7.6-12.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: try (try)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0074\u0072\u0079 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-13.js b/js/src/tests/test262/ch07/7.6/7.6-13.js new file mode 100644 index 000000000..bde18e099 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-13.js @@ -0,0 +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 ch07/7.6/7.6-13.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: catch (catch)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0063atch = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-14.js b/js/src/tests/test262/ch07/7.6/7.6-14.js new file mode 100644 index 000000000..d9c6d794f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-14.js @@ -0,0 +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 ch07/7.6/7.6-14.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: finally (finally)
+ */
+
+
+function testcase() {
+ try {
+ eval("var fina\u006cly = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-15.js b/js/src/tests/test262/ch07/7.6/7.6-15.js new file mode 100644 index 000000000..b2f034760 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-15.js @@ -0,0 +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 ch07/7.6/7.6-15.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: return (return)
+ */
+
+
+function testcase() {
+ try {
+ eval("var retur\u006e = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-16.js b/js/src/tests/test262/ch07/7.6/7.6-16.js new file mode 100644 index 000000000..ba98c547b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-16.js @@ -0,0 +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 ch07/7.6/7.6-16.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: void (void)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0076\u006f\u0069\u0064 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-17.js b/js/src/tests/test262/ch07/7.6/7.6-17.js new file mode 100644 index 000000000..93a309cbd --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-17.js @@ -0,0 +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 ch07/7.6/7.6-17.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: continue (continue)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0063ontinue = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-18.js b/js/src/tests/test262/ch07/7.6/7.6-18.js new file mode 100644 index 000000000..aba469e60 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-18.js @@ -0,0 +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 ch07/7.6/7.6-18.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: for (for)
+ */
+
+
+function testcase() {
+ try {
+ eval("var f\u006fr = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-19.js b/js/src/tests/test262/ch07/7.6/7.6-19.js new file mode 100644 index 000000000..b6df7be44 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-19.js @@ -0,0 +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 ch07/7.6/7.6-19.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: switch (switch)
+ */
+
+
+function testcase() {
+ try {
+ eval("var switc\u0068 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-2.js b/js/src/tests/test262/ch07/7.6/7.6-2.js new file mode 100644 index 000000000..c6ecd7172 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-2.js @@ -0,0 +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 ch07/7.6/7.6-2.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: true (true)
+ */
+
+
+function testcase() {
+ try {
+ eval("var tr\u0075e = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-20.js b/js/src/tests/test262/ch07/7.6/7.6-20.js new file mode 100644 index 000000000..1eefcf064 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-20.js @@ -0,0 +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 ch07/7.6/7.6-20.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: while (while)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0077\u0068\u0069\u006c\u0065 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-21.js b/js/src/tests/test262/ch07/7.6/7.6-21.js new file mode 100644 index 000000000..c1cc483ec --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-21.js @@ -0,0 +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 ch07/7.6/7.6-21.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: debugger (debugger)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0064ebugger = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-22.js b/js/src/tests/test262/ch07/7.6/7.6-22.js new file mode 100644 index 000000000..a050ca989 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-22.js @@ -0,0 +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 ch07/7.6/7.6-22.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: function (function)
+ */
+
+
+function testcase() {
+ try {
+ eval("var func\u0074ion = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-23.js b/js/src/tests/test262/ch07/7.6/7.6-23.js new file mode 100644 index 000000000..df98f3815 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-23.js @@ -0,0 +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 ch07/7.6/7.6-23.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: this (this)
+ */
+
+
+function testcase() {
+ try {
+ eval("var thi\u0073 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-24.js b/js/src/tests/test262/ch07/7.6/7.6-24.js new file mode 100644 index 000000000..d5773ebf2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-24.js @@ -0,0 +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 ch07/7.6/7.6-24.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: if (if)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0069\u0066 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-25.js b/js/src/tests/test262/ch07/7.6/7.6-25.js new file mode 100644 index 000000000..ff25f3e02 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-25.js @@ -0,0 +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 ch07/7.6/7.6-25.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: with (with)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0077ith = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-26.js b/js/src/tests/test262/ch07/7.6/7.6-26.js new file mode 100644 index 000000000..c740431cb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-26.js @@ -0,0 +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 ch07/7.6/7.6-26.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: default (default)
+ */
+
+
+function testcase() {
+ try {
+ eval("var def\u0061ult = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-27.js b/js/src/tests/test262/ch07/7.6/7.6-27.js new file mode 100644 index 000000000..e51bb26d8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-27.js @@ -0,0 +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 ch07/7.6/7.6-27.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: throw (throw)
+ */
+
+
+function testcase() {
+ try {
+ eval("var thro\u0077 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-28.js b/js/src/tests/test262/ch07/7.6/7.6-28.js new file mode 100644 index 000000000..8f4dd26cf --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-28.js @@ -0,0 +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 ch07/7.6/7.6-28.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: in (in)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0069\u006e = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-29.js b/js/src/tests/test262/ch07/7.6/7.6-29.js new file mode 100644 index 000000000..9e97c02ba --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-29.js @@ -0,0 +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 ch07/7.6/7.6-29.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: delete (delete)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0064elete = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-3.js b/js/src/tests/test262/ch07/7.6/7.6-3.js new file mode 100644 index 000000000..d14357042 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-3.js @@ -0,0 +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 ch07/7.6/7.6-3.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: false (false)
+ */
+
+
+function testcase() {
+ try {
+ eval("var fals\u0065 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-30.js b/js/src/tests/test262/ch07/7.6/7.6-30.js new file mode 100644 index 000000000..6e4af63b4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-30.js @@ -0,0 +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 ch07/7.6/7.6-30.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: class (class)
+ */
+
+
+function testcase() {
+ try {
+ eval("var cla\u0073s = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-31.js b/js/src/tests/test262/ch07/7.6/7.6-31.js new file mode 100644 index 000000000..c9fb1089e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-31.js @@ -0,0 +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 ch07/7.6/7.6-31.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: extends (extends)
+ */
+
+
+function testcase() {
+ try {
+ eval("var extend\u0073 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-32.js b/js/src/tests/test262/ch07/7.6/7.6-32.js new file mode 100644 index 000000000..86ea96417 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-32.js @@ -0,0 +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 ch07/7.6/7.6-32.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: enum (enum)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0065\u006e\u0075\u006d = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-33.js b/js/src/tests/test262/ch07/7.6/7.6-33.js new file mode 100644 index 000000000..3d6c8dbe3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-33.js @@ -0,0 +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 ch07/7.6/7.6-33.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: super (super)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0073uper = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-34.js b/js/src/tests/test262/ch07/7.6/7.6-34.js new file mode 100644 index 000000000..391fa0191 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-34.js @@ -0,0 +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 ch07/7.6/7.6-34.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: const (const)
+ */
+
+
+function testcase() {
+ try {
+ eval("var co\u006est = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-35.js b/js/src/tests/test262/ch07/7.6/7.6-35.js new file mode 100644 index 000000000..5a729ad00 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-35.js @@ -0,0 +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 ch07/7.6/7.6-35.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: export (export)
+ */
+
+
+function testcase() {
+ try {
+ eval("var expor\u0074 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-36.js b/js/src/tests/test262/ch07/7.6/7.6-36.js new file mode 100644 index 000000000..afc680a0e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-36.js @@ -0,0 +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 ch07/7.6/7.6-36.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: import (import)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0069\u006d\u0070\u006f\u0072\u0074 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-4.js b/js/src/tests/test262/ch07/7.6/7.6-4.js new file mode 100644 index 000000000..b621b8d7e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-4.js @@ -0,0 +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 ch07/7.6/7.6-4.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: break (break)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0062\u0072\u0065\u0061\u006b = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-5.js b/js/src/tests/test262/ch07/7.6/7.6-5.js new file mode 100644 index 000000000..5889b2fc6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-5.js @@ -0,0 +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 ch07/7.6/7.6-5.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: case (case)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0063ase = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-6.js b/js/src/tests/test262/ch07/7.6/7.6-6.js new file mode 100644 index 000000000..d70805344 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-6.js @@ -0,0 +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 ch07/7.6/7.6-6.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: instanceof (instanceof)
+ */
+
+
+function testcase() {
+ try {
+ eval("var insta\u006eceof = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-7.js b/js/src/tests/test262/ch07/7.6/7.6-7.js new file mode 100644 index 000000000..f388e1302 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-7.js @@ -0,0 +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 ch07/7.6/7.6-7.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: typeof (typeof)
+ */
+
+
+function testcase() {
+ try {
+ eval("var typeo\u0066 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-8.js b/js/src/tests/test262/ch07/7.6/7.6-8.js new file mode 100644 index 000000000..ab4f25978 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-8.js @@ -0,0 +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 ch07/7.6/7.6-8.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: do (do)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0064\u006f = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6-9.js b/js/src/tests/test262/ch07/7.6/7.6-9.js new file mode 100644 index 000000000..2e9f07b03 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6-9.js @@ -0,0 +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 ch07/7.6/7.6-9.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: else (else) (null)
+ */
+
+
+function testcase() {
+ try {
+ eval("var \u0065lse = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-1.js new file mode 100644 index 000000000..20be0698f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-1.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-1.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: null, true, false
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ null: 0,
+ true: 1,
+ false: 2
+ };
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-10.js new file mode 100644 index 000000000..08f1d0026 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-10.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-10.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: in, try, class
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ in: 0,
+ try: 1,
+ class: 2
+ };
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-11.js new file mode 100644 index 000000000..6875887d9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-11.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-11.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: enum, extends, super
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ enum: 0,
+ extends: 1,
+ super: 2
+ };
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-12.js new file mode 100644 index 000000000..52940898d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-12.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-12.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: const, export, import
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ const: 0,
+ export: 1,
+ import: 2
+ };
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-13.js new file mode 100644 index 000000000..d35543629 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-13.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-13.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: implements, let, private
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ implements: 0,
+ let: 1,
+ private: 2
+ };
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-14.js new file mode 100644 index 000000000..6d9270d3e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-14.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-14.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: public, yield, interface
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ public: 0,
+ yield: 1,
+ interface: 2
+ };
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-15.js new file mode 100644 index 000000000..4585126a0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-15.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-15.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: package, protected, static
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ package: 0,
+ protected: 1,
+ static: 2
+ };
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-16.js new file mode 100644 index 000000000..20b61eccf --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-16.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-16.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: undeefined, NaN, Infinity
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ undefined: 0,
+ NaN: 1,
+ Infinity: 2
+ };
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-2.js new file mode 100644 index 000000000..8b0ca79ea --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-2.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-2.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: break, case, do
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ break: 0,
+ case: 1,
+ do: 2
+ };
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-3.js new file mode 100644 index 000000000..5254fdfa3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-3.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-3.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: instanceof, typeof, else
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ instanceof: 0,
+ typeof: 1,
+ else: 2
+ };
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-4.js new file mode 100644 index 000000000..5391b5be8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-4.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-4.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: new, var, catch
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ new: 0,
+ var: 1,
+ catch: 2
+ };
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-5.js new file mode 100644 index 000000000..cc65a2bd2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-5.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-5.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: finally, return, void
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ finally: 0,
+ return: 1,
+ void: 2
+ };
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-6.js new file mode 100644 index 000000000..157b2fec9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-6.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-6.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: continue, for, switch
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ continue: 0,
+ for: 1,
+ switch: 2
+ };
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-7.js new file mode 100644 index 000000000..227e58d5a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-7.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-7.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: while, debugger, function
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ while: 0,
+ debugger: 1,
+ function: 2
+ };
+ var arr = [
+ 'while' ,
+ 'debugger',
+ 'function'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-8.js new file mode 100644 index 000000000..0045ead1d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-8.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-8.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: this, with, default
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ this: 0,
+ with: 1,
+ default: 2
+ };
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-9.js new file mode 100644 index 000000000..285d14ec9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-1-9.js @@ -0,0 +1,34 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-1-9.js
+ * @description Allow reserved words as property names at object initialization, verified with hasOwnProperty: if, throw, delete
+ */
+
+
+function testcase(){
+ var tokenCodes = {
+ if: 0,
+ throw: 1,
+ delete: 2
+ };
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-1.js new file mode 100644 index 000000000..d652a22a4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-1.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-1.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: null, true, false
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.null = 0;
+ tokenCodes.true = 1;
+ tokenCodes.false = 2;
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-10.js new file mode 100644 index 000000000..2d8ed66f1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-10.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-10.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: in, try, class
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.in = 0;
+ tokenCodes.try = 1;
+ tokenCodes.class = 2;
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-11.js new file mode 100644 index 000000000..2185f2de0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-11.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-11.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: enum, extends, super
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.enum = 0;
+ tokenCodes.extends = 1;
+ tokenCodes.super = 2;
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-12.js new file mode 100644 index 000000000..622ec9067 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-12.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-12.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: const, export, import
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.const = 0;
+ tokenCodes.export = 1;
+ tokenCodes.import = 2;
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-13.js new file mode 100644 index 000000000..169cbc798 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-13.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-13.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: implements, let, private
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.implements = 0;
+ tokenCodes.let = 1;
+ tokenCodes.private = 2;
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-14.js new file mode 100644 index 000000000..3343b2670 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-14.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-14.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: public, yield, interface
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.public = 0;
+ tokenCodes.yield = 1;
+ tokenCodes.interface = 2;
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-15.js new file mode 100644 index 000000000..ce04d2900 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-15.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-15.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: package, protected, static
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.package = 0;
+ tokenCodes.protected = 1;
+ tokenCodes.static = 2;
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-16.js new file mode 100644 index 000000000..e078859fc --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-16.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-16.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: undefined, NaN, Infinity
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.undefined = 0;
+ tokenCodes.NaN = 1;
+ tokenCodes.Infinity = 2;
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-2.js new file mode 100644 index 000000000..3a8997852 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-2.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-2.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: break, case, do
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.break = 0;
+ tokenCodes.case = 1;
+ tokenCodes.do = 2;
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-3.js new file mode 100644 index 000000000..30e4bc139 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-3.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-3.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: instanceof, typeof, else
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.instanceof = 0;
+ tokenCodes.typeof = 1;
+ tokenCodes.else = 2;
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-4.js new file mode 100644 index 000000000..0d43d0373 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-4.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-4.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: new, var, catch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.new = 0;
+ tokenCodes.var = 1;
+ tokenCodes.catch = 2;
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-5.js new file mode 100644 index 000000000..542175c02 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-5.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-5.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: finally, return, void
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.finally = 0;
+ tokenCodes.return = 1;
+ tokenCodes.void = 2;
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-6.js new file mode 100644 index 000000000..20a949a70 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-6.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-6.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: continue, for, switch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.continue = 0;
+ tokenCodes.for = 1;
+ tokenCodes.switch = 2;
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-7.js new file mode 100644 index 000000000..83f526468 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-7.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-7.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: while, debugger, function
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.while = 0;
+ tokenCodes.debugger = 1;
+ tokenCodes.function = 2;
+ var arr = [
+ 'while' ,
+ 'debugger',
+ 'function'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-8.js new file mode 100644 index 000000000..62e39d18a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-8.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-8.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: this, with, default
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.this = 0;
+ tokenCodes.with = 1;
+ tokenCodes.default = 2;
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-9.js new file mode 100644 index 000000000..99678952f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-2-9.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-2-9.js
+ * @description Allow reserved words as property names by dot operator assignment, verified with hasOwnProperty: if, throw, delete
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.if = 0;
+ tokenCodes.throw = 1;
+ tokenCodes.delete = 2;
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-1.js new file mode 100644 index 000000000..7f890eb5d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-1.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-1.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: null, true, false
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['null'] = 0;
+ tokenCodes['true'] = 1;
+ tokenCodes['false'] = 2;
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-10.js new file mode 100644 index 000000000..83dddc14e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-10.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-10.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: in, try, class
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['in'] = 0;
+ tokenCodes['try'] = 1;
+ tokenCodes['class'] = 2;
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-11.js new file mode 100644 index 000000000..4b1f58b41 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-11.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-11.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: enum, extends, super
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['enum'] = 0;
+ tokenCodes['extends'] = 1;
+ tokenCodes['super'] = 2;
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-12.js new file mode 100644 index 000000000..72cc76dbe --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-12.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-12.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: const, export, import
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['const'] = 0;
+ tokenCodes['export'] = 1;
+ tokenCodes['import'] = 2;
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-13.js new file mode 100644 index 000000000..6bd557357 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-13.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-13.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: implements, let, private
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['implements'] = 0;
+ tokenCodes['let'] = 1;
+ tokenCodes['private'] = 2;
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-14.js new file mode 100644 index 000000000..b70990d6c --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-14.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-14.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: public, yield, interface
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['public'] = 0;
+ tokenCodes['yield'] = 1;
+ tokenCodes['interface'] = 2;
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-15.js new file mode 100644 index 000000000..f5b7664b8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-15.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-15.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: package, protected, static
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['package'] = 0;
+ tokenCodes['protected'] = 1;
+ tokenCodes['static'] = 2;
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-16.js new file mode 100644 index 000000000..afd96393c --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-16.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-16.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: undefined, NaN, Infinity
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['undefined'] = 0;
+ tokenCodes['NaN'] = 1;
+ tokenCodes['Infinity'] = 2;
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-2.js new file mode 100644 index 000000000..351e26392 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-2.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-2.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: break, case, do
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['break'] = 0;
+ tokenCodes['case'] = 1;
+ tokenCodes['do'] = 2;
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-3.js new file mode 100644 index 000000000..c756355fe --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-3.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-3.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: instanceof, typeof, else
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['instanceof'] = 0;
+ tokenCodes['typeof'] = 1;
+ tokenCodes['else'] = 2;
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-4.js new file mode 100644 index 000000000..15de6619b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-4.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-4.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: new, var, catch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['new'] = 0;
+ tokenCodes['var'] = 1;
+ tokenCodes['catch'] = 2;
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-5.js new file mode 100644 index 000000000..cae2bb6e6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-5.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-5.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: finally, return, void
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['finally'] = 0;
+ tokenCodes['return'] = 1;
+ tokenCodes['void'] = 2;
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-6.js new file mode 100644 index 000000000..452072295 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-6.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-6.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: continue, for, switch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['continue'] = 0;
+ tokenCodes['for'] = 1;
+ tokenCodes['switch'] = 2;
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-7.js new file mode 100644 index 000000000..15092a0cf --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-7.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-7.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: while, debugger, function
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['while'] = 0;
+ tokenCodes['debugger'] = 1;
+ tokenCodes['function'] = 2;
+ var arr = [
+ 'while',
+ 'debugger',
+ 'function'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-8.js new file mode 100644 index 000000000..19db5267f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-8.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-8.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: this, with, default
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['this'] = 0;
+ tokenCodes['with'] = 1;
+ tokenCodes['default'] = 2;
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-9.js new file mode 100644 index 000000000..856cdb104 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-3-9.js @@ -0,0 +1,33 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-3-9.js
+ * @description Allow reserved words as property names by index assignment,verified with hasOwnProperty: if, throw, delete
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['if'] = 0;
+ tokenCodes['throw'] = 1;
+ tokenCodes['delete'] = 2;
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-1.js new file mode 100644 index 000000000..8f81d173c --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-1.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-1.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: null, true, false
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set null(value) {
+ test0 = value;
+ },
+ get null() {
+ return test0;
+ },
+ set true(value) {
+ test1 = value;
+ },
+ get true() {
+ return test1;
+ },
+ set false(value) {
+ test2 = value;
+ },
+ get false(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-10.js new file mode 100644 index 000000000..ae2445a25 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-10.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-10.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: in, try, class
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set in(value){
+ test0 = value;
+ },
+ get in(){
+ return test0;
+ },
+ set try(value){
+ test1 = value;
+ },
+ get try(){
+ return test1
+ },
+ set class(value){
+ test2 = value;
+ },
+ get class(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-11.js new file mode 100644 index 000000000..081d81170 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-11.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-11.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: enum, extends, super
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set enum(value){
+ test0 = value;
+ },
+ get enum(){
+ return test0;
+ },
+ set extends(value){
+ test1 = value;
+ },
+ get extends(){
+ return test1;
+ },
+ set super(value){
+ test2 = value;
+ },
+ get super(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-12.js new file mode 100644 index 000000000..3c16683f7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-12.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-12.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: const, export, import
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set const(value){
+ test0 = value;
+ },
+ get const(){
+ return test0;
+ },
+ set export(value){
+ test1 = value;
+ },
+ get export(){
+ return test1
+ },
+ set import(value){
+ test2 = value;
+ },
+ get import(){
+ return test2
+ }
+ };
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-13.js new file mode 100644 index 000000000..47dd6e266 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-13.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-13.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: implements, let, private
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set implements(value){
+ test0 = value;
+ },
+ get implements(){
+ return test0;
+ },
+ set let(value){
+ test1 = value;
+ },
+ get let(){
+ return test1
+ },
+ set private(value){
+ test2 = value;
+ },
+ get private(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-14.js new file mode 100644 index 000000000..0d1e1aa4f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-14.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-14.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: public, yield, interface
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set public(value){
+ test0 = value;
+ },
+ get public(){
+ return test0;
+ },
+ set yield(value){
+ test1 = value;
+ },
+ get yield(){
+ return test1;
+ },
+ set interface(value){
+ test2 = value;
+ },
+ get interface(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-15.js new file mode 100644 index 000000000..111f00706 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-15.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-15.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: package, protected, static
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set package(value){
+ test0 = value;
+ },
+ get package(){
+ return test0;
+ },
+ set protected(value){
+ test1 = value;
+ },
+ get protected(){
+ return test1
+ },
+ set static(value){
+ test2 = value;
+ },
+ get static(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-16.js new file mode 100644 index 000000000..0edafa8e3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-16.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-16.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: undefined, NaN, Infinity
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set undefined(value){
+ test0 = value;
+ },
+ get undefined(){
+ return test0;
+ },
+ set NaN(value){
+ test1 = value;
+ },
+ get NaN(){
+ return test1;
+ },
+ set Infinity(value){
+ test2 = value;
+ },
+ get Infinity(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-2.js new file mode 100644 index 000000000..8569c9cea --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-2.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-2.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: break, case, do
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set break(value){
+ test0 = value;
+ },
+ get break(){
+ return test0;
+ },
+ set case(value){
+ test1 = value;
+ },
+ get case(){
+ return test1;
+ },
+ set do(value){
+ test2 = value;
+ },
+ get do(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-3.js new file mode 100644 index 000000000..3ef8ea7aa --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-3.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-3.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: instanceof, typeof, else
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set instanceof(value){
+ test0 = value;
+ },
+ get instanceof(){
+ return test0;
+ },
+ set typeof(value){
+ test1 = value;
+ },
+ get typeof(){
+ return test1;
+ },
+ set else(value){
+ test2 = value;
+ },
+ get else(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-4.js new file mode 100644 index 000000000..afb165ed1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-4.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-4.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: new, var, catch
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set new(value){
+ test0 = value;
+ },
+ get new(){
+ return test0;
+ },
+ set var(value){
+ test1 = value;
+ },
+ get var(){
+ return test1;
+ },
+ set catch(value){
+ test2 = value;
+ },
+ get catch(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-5.js new file mode 100644 index 000000000..e4c6badae --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-5.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-5.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: finally, return, void
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set finally(value){
+ test0 = value;
+ },
+ get finally(){
+ return test0;
+ },
+ set return(value){
+ test1 = value;
+ },
+ get return(){
+ return test1;
+ },
+ set void(value){
+ test2 = value;
+ },
+ get void(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-6.js new file mode 100644 index 000000000..f240ded36 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-6.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-6.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: continue, for, switch
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set continue(value){
+ test0 = value;
+ },
+ get continue(){
+ return test0;
+ },
+ set for(value){
+ test1 = value;
+ },
+ get for(){
+ return test1;
+ },
+ set switch(value){
+ test2 = value;
+ },
+ get switch(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-7.js new file mode 100644 index 000000000..6134976c8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-7.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-7.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: while, debugger, function
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set while(value){
+ test0 = value;
+ },
+ get while(){
+ return test0
+ },
+ set debugger(value){
+ test1 = value;
+ },
+ get debugger(){
+ return test1;
+ },
+ set function(value){
+ test2 = value;
+ },
+ get function(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'while' ,
+ 'debugger',
+ 'function'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-8.js new file mode 100644 index 000000000..a027cf608 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-8.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-8.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: this, with, default
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set this(value){
+ test0 = value;
+ },
+ get this(){
+ return test0;
+ },
+ set with(value){
+ test1 = value;
+ },
+ get with(){
+ return test1;
+ },
+ set default(value){
+ test2 = value;
+ },
+ get default(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-9.js new file mode 100644 index 000000000..1828b0d9a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-4-9.js @@ -0,0 +1,50 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-4-9.js
+ * @description Allow reserved words as property names by set function within an object, verified with hasOwnProperty: if, throw, delete
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set if(value){
+ test0 = value;
+ },
+ get if(){
+ return test0;
+ },
+ set throw(value){
+ test1 = value;
+ },
+ get throw(){
+ return test1
+ },
+ set delete(value){
+ test2 = value;
+ },
+ get delete(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for(var p in tokenCodes) {
+ for(var p1 in arr) {
+ if(arr[p1] === p) {
+ if(!tokenCodes.hasOwnProperty(arr[p1])) {
+ return false;
+ };
+ }
+ }
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-1.js new file mode 100644 index 000000000..88eb2869f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-1.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-1.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: null, true, false
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ null: 0,
+ true: 1,
+ false: 2
+ };
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-10.js new file mode 100644 index 000000000..a00ce7096 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-10.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-10.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: in, try, class
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ in: 0,
+ try: 1,
+ class: 2
+ };
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-11.js new file mode 100644 index 000000000..7a3a3af0c --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-11.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-11.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: enum, extends, super
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ enum: 0,
+ extends: 1,
+ super: 2
+ };
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-12.js new file mode 100644 index 000000000..b2b7645f5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-12.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-12.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: const, export, import
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ const : 0,
+ export: 1,
+ import: 2
+ };
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-13.js new file mode 100644 index 000000000..a7b03b95c --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-13.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-13.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: implements, let, private
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ implements: 0,
+ let: 1,
+ private: 2
+ };
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-14.js new file mode 100644 index 000000000..f24467c8f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-14.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-14.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: public, yield, interface
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ public: 0,
+ yield: 1,
+ interface: 2
+ };
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-15.js new file mode 100644 index 000000000..498e5e7d5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-15.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-15.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: package, protected, static
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ package: 0,
+ protected: 1,
+ static: 2
+ };
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-16.js new file mode 100644 index 000000000..8bf471549 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-16.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-16.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: undefined, NaN, Infinity
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ undefined: 0,
+ NaN: 1,
+ Infinity: 2
+ };
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-2.js new file mode 100644 index 000000000..79ccb65b9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-2.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-2.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: break, case, do
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ break: 0,
+ case: 1,
+ do: 2
+ };
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-3.js new file mode 100644 index 000000000..643fce68f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-3.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-3.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: instanceof, typeof, else
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ instanceof: 0,
+ typeof: 1,
+ else: 2
+ };
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-4.js new file mode 100644 index 000000000..8080248a2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-4.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-4.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: new, var, catch
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ new: 0,
+ var: 1,
+ catch: 2
+ };
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-5.js new file mode 100644 index 000000000..bb3280732 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-5.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-5.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: finally, return, void
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ finally: 0,
+ return: 1,
+ void: 2
+ };
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-6.js new file mode 100644 index 000000000..c9dc5a146 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-6.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-6.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: continue, for, switch
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ continue: 0,
+ for: 1,
+ switch: 2
+ };
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-7.js new file mode 100644 index 000000000..a0a5a977b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-7.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-7.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: while, debugger, function
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ while: 0,
+ debugger: 1,
+ function: 2
+ };
+ var arr = [
+ 'while' ,
+ 'debugger',
+ 'function'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-8.js new file mode 100644 index 000000000..d659f6acd --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-8.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-8.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: this, with, default
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ this: 0,
+ with: 1,
+ default: 2
+ };
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-9.js new file mode 100644 index 000000000..6e21dfd78 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-5-9.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-5-9.js
+ * @description Allow reserved words as property names at object initialization, accessed via indexing: if, throw, delete
+ */
+
+
+function testcase() {
+ var tokenCodes = {
+ if: 0,
+ throw: 1,
+ delete: 2
+ };
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-1.js new file mode 100644 index 000000000..b2c98910a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-1.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-1.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: null, true, false
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.null = 0;
+ tokenCodes.true = 1;
+ tokenCodes.false = 2;
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-10.js new file mode 100644 index 000000000..3099c4abc --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-10.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-10.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: in, try, class
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.in = 0;
+ tokenCodes.try = 1;
+ tokenCodes.class = 2;
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-11.js new file mode 100644 index 000000000..9fda29ca4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-11.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-11.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: enum, extends, super
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.enum = 0;
+ tokenCodes.extends = 1;
+ tokenCodes.super = 2;
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-12.js new file mode 100644 index 000000000..7cfb6643a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-12.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-12.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: const, export, import
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.const = 0;
+ tokenCodes.export = 1;
+ tokenCodes.import = 2;
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-13.js new file mode 100644 index 000000000..ff4bf38cf --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-13.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-13.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: implements, let, private
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.implements = 0;
+ tokenCodes.let = 1;
+ tokenCodes.private = 2;
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-14.js new file mode 100644 index 000000000..4bea56fe5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-14.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-14.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: public, yield, interface
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.public = 0;
+ tokenCodes.yield = 1;
+ tokenCodes.interface = 2;
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-15.js new file mode 100644 index 000000000..0021da41b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-15.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-15.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: package, protected, static
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.package = 0;
+ tokenCodes.protected = 1;
+ tokenCodes.static = 2;
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-16.js new file mode 100644 index 000000000..bc98a8a5f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-16.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-16.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: undefined, NaN, Infinity
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.undefined = 0;
+ tokenCodes.NaN = 1;
+ tokenCodes.Infinity = 2;
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-2.js new file mode 100644 index 000000000..65c06c957 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-2.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-2.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: break, case, do
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.break = 0;
+ tokenCodes.case = 1;
+ tokenCodes.do = 2;
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-3.js new file mode 100644 index 000000000..b403a3efe --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-3.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-3.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: instanceof, typeof, else
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.instanceof = 0;
+ tokenCodes.typeof = 1;
+ tokenCodes.else = 2;
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-4.js new file mode 100644 index 000000000..cbe85b25e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-4.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-4.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: new, var, catch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.new = 0;
+ tokenCodes.var = 1;
+ tokenCodes.catch = 2;
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-5.js new file mode 100644 index 000000000..5d2e1b6f6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-5.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-5.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: finally, return, void
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.finally = 0;
+ tokenCodes.return = 1;
+ tokenCodes.void = 2;
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-6.js new file mode 100644 index 000000000..df407917b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-6.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-6.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: continue, for, switch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.continue = 0;
+ tokenCodes.for = 1;
+ tokenCodes.switch = 2;
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-7.js new file mode 100644 index 000000000..1c4ca549c --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-7.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-7.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: while, debugger, function
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.while = 0;
+ tokenCodes.debugger = 1;
+ tokenCodes.function = 2;
+ var arr = [
+ 'while' ,
+ 'debugger',
+ 'function'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-8.js new file mode 100644 index 000000000..945eecf73 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-8.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-8.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: this, with, default
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.this = 0;
+ tokenCodes.with = 1;
+ tokenCodes.default = 2;
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-9.js new file mode 100644 index 000000000..ae8bbbcd2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-6-9.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-6-9.js
+ * @description Allow reserved words as property names by dot operator assignment, accessed via indexing: if, throw, delete
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes.if = 0;
+ tokenCodes.throw = 1;
+ tokenCodes.delete = 2;
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-1.js new file mode 100644 index 000000000..060d98cb9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-1.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-1.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: null, true, false
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['null'] = 0;
+ tokenCodes['true'] = 1;
+ tokenCodes['false'] = 2;
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-10.js new file mode 100644 index 000000000..22a2e32fb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-10.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-10.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: in, try, class
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['in'] = 0;
+ tokenCodes['try'] = 1;
+ tokenCodes['class'] = 2;
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-11.js new file mode 100644 index 000000000..0c0176399 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-11.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-11.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: enum, extends, super
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['enum'] = 0;
+ tokenCodes['extends'] = 1;
+ tokenCodes['super'] = 2;
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-12.js new file mode 100644 index 000000000..56eb9d318 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-12.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-12.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: const, export, import
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['const'] = 0;
+ tokenCodes['export'] = 1;
+ tokenCodes['import'] = 2;
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-13.js new file mode 100644 index 000000000..fd8beb9a2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-13.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-13.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: implements, let, private
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['implements'] = 0;
+ tokenCodes['let'] = 1;
+ tokenCodes['private'] = 2;
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-14.js new file mode 100644 index 000000000..295abc5d1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-14.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-14.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: public, yield, interface
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['public'] = 0;
+ tokenCodes['yield'] = 1;
+ tokenCodes['interface'] = 2;
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-15.js new file mode 100644 index 000000000..5c95f6db6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-15.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-15.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: package, protected, static
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['package'] = 0;
+ tokenCodes['protected'] = 1;
+ tokenCodes['static'] = 2;
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-16.js new file mode 100644 index 000000000..f8146c5ab --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-16.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-16.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: undefined, NaN, Infinity
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['undefined'] = 0;
+ tokenCodes['NaN'] = 1;
+ tokenCodes['Infinity'] = 2;
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-2.js new file mode 100644 index 000000000..62df8ea1d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-2.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-2.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: break, case, do
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['break'] = 0;
+ tokenCodes['case'] = 1;
+ tokenCodes['do'] = 2;
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-3.js new file mode 100644 index 000000000..772c108b4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-3.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-3.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: instanceof, typeof, else
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['instanceof'] = 0;
+ tokenCodes['typeof'] = 1;
+ tokenCodes['else'] = 2;
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-4.js new file mode 100644 index 000000000..99d7868b9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-4.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-4.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: new, var, catch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['new'] = 0;
+ tokenCodes['var'] = 1;
+ tokenCodes['catch'] = 2;
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-5.js new file mode 100644 index 000000000..3543e4f25 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-5.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-5.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: finally, return, void
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['finally'] = 0;
+ tokenCodes['return'] = 1;
+ tokenCodes['void'] = 2;
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-6.js new file mode 100644 index 000000000..652fc97d7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-6.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-6.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: continue, for, switch
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['continue'] = 0;
+ tokenCodes['for'] = 1;
+ tokenCodes['switch'] = 2;
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-7.js new file mode 100644 index 000000000..1605d5d0b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-7.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-7.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: while, debugger, function
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['while'] = 0;
+ tokenCodes['debugger'] = 1;
+ tokenCodes['function'] = 2;
+ var arr = [
+ 'while',
+ 'debugger',
+ 'function'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-8.js new file mode 100644 index 000000000..eab4c423a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-8.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-8.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: this, with, default
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['this'] = 0;
+ tokenCodes['with'] = 1;
+ tokenCodes['default'] = 2;
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-9.js new file mode 100644 index 000000000..9f018dfa6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-7-9.js @@ -0,0 +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.
+/**
+ * @path ch07/7.6/7.6.1/7.6.1-7-9.js
+ * @description Allow reserved words as property names by index assignment, accessed via indexing: if, throw, delete
+ */
+
+
+function testcase() {
+ var tokenCodes = {};
+ tokenCodes['if'] = 0;
+ tokenCodes['throw'] = 1;
+ tokenCodes['delete'] = 2;
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-1.js new file mode 100644 index 000000000..7d816111d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-1.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-1.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: null, true, false
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set null(value) {
+ test0 = value;
+ },
+ get null() {
+ return test0;
+ },
+ set true(value) {
+ test1 = value;
+ },
+ get true() {
+ return test1;
+ },
+ set false(value) {
+ test2 = value;
+ },
+ get false(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'null',
+ 'true',
+ 'false'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-10.js new file mode 100644 index 000000000..3b48de443 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-10.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-10.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: in, try, class
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set in(value){
+ test0 = value;
+ },
+ get in(){
+ return test0;
+ },
+ set try(value){
+ test1 = value;
+ },
+ get try(){
+ return test1
+ },
+ set class(value){
+ test2 = value;
+ },
+ get class(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'in',
+ 'try',
+ 'class'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-11.js new file mode 100644 index 000000000..ff92952e1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-11.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-11.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: enum, extends, super
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set enum(value){
+ test0 = value;
+ },
+ get enum(){
+ return test0;
+ },
+ set extends(value){
+ test1 = value;
+ },
+ get extends(){
+ return test1;
+ },
+ set super(value){
+ test2 = value;
+ },
+ get super(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'enum',
+ 'extends',
+ 'super'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-12.js new file mode 100644 index 000000000..2a4a1d170 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-12.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-12.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: const, export, import
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set const(value){
+ test0 = value;
+ },
+ get const(){
+ return test0;
+ },
+ set export(value){
+ test1 = value;
+ },
+ get export(){
+ return test1
+ },
+ set import(value){
+ test2 = value;
+ },
+ get import(){
+ return test2
+ }
+ };
+ var arr = [
+ 'const',
+ 'export',
+ 'import'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-13.js new file mode 100644 index 000000000..a2f46d570 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-13.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-13.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: implements, let, private
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set implements(value){
+ test0 = value;
+ },
+ get implements(){
+ return test0;
+ },
+ set let(value){
+ test1 = value;
+ },
+ get let(){
+ return test1
+ },
+ set private(value){
+ test2 = value;
+ },
+ get private(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'implements',
+ 'let',
+ 'private'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-14.js new file mode 100644 index 000000000..393ae46b0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-14.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-14.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: public, yield, interface
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set public(value){
+ test0 = value;
+ },
+ get public(){
+ return test0;
+ },
+ set yield(value){
+ test1 = value;
+ },
+ get yield(){
+ return test1;
+ },
+ set interface(value){
+ test2 = value;
+ },
+ get interface(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'public',
+ 'yield',
+ 'interface'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-15.js new file mode 100644 index 000000000..81d5f4b7f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-15.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-15.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: package, protected, static
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set package(value){
+ test0 = value;
+ },
+ get package(){
+ return test0;
+ },
+ set protected(value){
+ test1 = value;
+ },
+ get protected(){
+ return test1
+ },
+ set static(value){
+ test2 = value;
+ },
+ get static(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'package',
+ 'protected',
+ 'static'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-16.js new file mode 100644 index 000000000..91ff6b9c8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-16.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-16.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: undefined, NaN, Infinity
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set undefined(value){
+ test0 = value;
+ },
+ get undefined(){
+ return test0;
+ },
+ set NaN(value){
+ test1 = value;
+ },
+ get NaN(){
+ return test1;
+ },
+ set Infinity(value){
+ test2 = value;
+ },
+ get Infinity(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'undefined',
+ 'NaN',
+ 'Infinity'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-2.js new file mode 100644 index 000000000..9af600938 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-2.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-2.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: break, case, do
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set break(value){
+ test0 = value;
+ },
+ get break(){
+ return test0;
+ },
+ set case(value){
+ test1 = value;
+ },
+ get case(){
+ return test1;
+ },
+ set do(value){
+ test2 = value;
+ },
+ get do(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'break',
+ 'case',
+ 'do'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-3.js new file mode 100644 index 000000000..b26b4d020 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-3.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-3.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: instanceof, typeof, else
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set instanceof(value){
+ test0 = value;
+ },
+ get instanceof(){
+ return test0;
+ },
+ set typeof(value){
+ test1 = value;
+ },
+ get typeof(){
+ return test1;
+ },
+ set else(value){
+ test2 = value;
+ },
+ get else(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'instanceof',
+ 'typeof',
+ 'else'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-4.js new file mode 100644 index 000000000..b8de25452 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-4.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-4.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: new, var, catch
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set new(value){
+ test0 = value;
+ },
+ get new(){
+ return test0;
+ },
+ set var(value){
+ test1 = value;
+ },
+ get var(){
+ return test1;
+ },
+ set catch(value){
+ test2 = value;
+ },
+ get catch(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'new',
+ 'var',
+ 'catch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-5.js new file mode 100644 index 000000000..26d5f3aac --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-5.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-5.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: finally, return, void
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set finally(value){
+ test0 = value;
+ },
+ get finally(){
+ return test0;
+ },
+ set return(value){
+ test1 = value;
+ },
+ get return(){
+ return test1;
+ },
+ set void(value){
+ test2 = value;
+ },
+ get void(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'finally',
+ 'return',
+ 'void'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-6.js new file mode 100644 index 000000000..4b5f217f4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-6.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-6.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: continue, for, switch
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set continue(value){
+ test0 = value;
+ },
+ get continue(){
+ return test0;
+ },
+ set for(value){
+ test1 = value;
+ },
+ get for(){
+ return test1;
+ },
+ set switch(value){
+ test2 = value;
+ },
+ get switch(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'continue',
+ 'for',
+ 'switch'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-7.js new file mode 100644 index 000000000..58555e62e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-7.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-7.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: while, debugger, function
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set while(value){
+ test0 = value;
+ },
+ get while(){
+ return test0
+ },
+ set debugger(value){
+ test1 = value;
+ },
+ get debugger(){
+ return test1;
+ },
+ set function(value){
+ test2 = value;
+ },
+ get function(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'while' ,
+ 'debugger',
+ 'function'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-8.js new file mode 100644 index 000000000..c6c39dd22 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-8.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-8.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: this, with, default
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set this(value){
+ test0 = value;
+ },
+ get this(){
+ return test0;
+ },
+ set with(value){
+ test1 = value;
+ },
+ get with(){
+ return test1;
+ },
+ set default(value){
+ test2 = value;
+ },
+ get default(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'this',
+ 'with',
+ 'default'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-9.js new file mode 100644 index 000000000..f61ec565b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1-8-9.js @@ -0,0 +1,46 @@ +/// 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 ch07/7.6/7.6.1/7.6.1-8-9.js
+ * @description Allow reserved words as property names by set function within an object, accessed via indexing: if, throw, delete
+ */
+
+
+function testcase() {
+ var test0 = 0, test1 = 1, test2 = 2;
+ var tokenCodes = {
+ set if(value){
+ test0 = value;
+ },
+ get if(){
+ return test0;
+ },
+ set throw(value){
+ test1 = value;
+ },
+ get throw(){
+ return test1
+ },
+ set delete(value){
+ test2 = value;
+ },
+ get delete(){
+ return test2;
+ }
+ };
+ var arr = [
+ 'if',
+ 'throw',
+ 'delete'
+ ];
+ for (var i = 0; i < arr.length; i++) {
+ if (tokenCodes[arr[i]] !== i) {
+ return false;
+ };
+ }
+ return true;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js new file mode 100644 index 000000000..89653b5cd --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "break" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.1.js + * @description Checking if execution of "break=1" fails + * @negative + */ + +break = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js new file mode 100644 index 000000000..0511807b6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "for" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js + * @description Checking if execution of "for=1" fails + * @negative + */ + +for = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js new file mode 100644 index 000000000..39d4b7efa --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "function" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.11.js + * @description Checking if execution of "function=1" fails + * @negative + */ + +function = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js new file mode 100644 index 000000000..43433a6b5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "if" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.12.js + * @description Checking if execution of "if=1" fails + * @negative + */ + +if = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js new file mode 100644 index 000000000..2e52df961 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "in" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.13.js + * @description Checking if execution of "in=1" fails + * @negative + */ + +in = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js new file mode 100644 index 000000000..5867436c7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "instanceof" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.14.js + * @description Checking if execution of "instanceof=1" fails + * @negative + */ + +instanceof = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js new file mode 100644 index 000000000..56ec3af72 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "new" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.15.js + * @description Checking if execution of "new=1" fails + * @negative + */ + +new = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js new file mode 100644 index 000000000..7f6a21a7c --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "return" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.16.js + * @description Checking if execution of "return=1" fails + * @negative + */ + +return = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js new file mode 100644 index 000000000..34024b4d4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "switch" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.17.js + * @description Checking if execution of "switch=1" fails + * @negative + */ + +switch = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js new file mode 100644 index 000000000..6068789b6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "this" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.18.js + * @description Checking if execution of "this=1" fails + * @negative + */ + +this = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js new file mode 100644 index 000000000..bb5ce8b7d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "throw" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.19.js + * @description Checking if execution of "throw=1" fails + * @negative + */ + +throw = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js new file mode 100644 index 000000000..fa0b3a8fd --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "case" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.2.js + * @description Checking if execution of "case=1" fails + * @negative + */ + +case = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js new file mode 100644 index 000000000..62ce326f6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "try" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.20.js + * @description Checking if execution of "try=1" fails + * @negative + */ + +try = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js new file mode 100644 index 000000000..d2aeca3fc --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "typeof" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.21.js + * @description Checking if execution of "typeof=1" fails + * @negative + */ + +typeof = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js new file mode 100644 index 000000000..2530ab8e7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "var" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.22.js + * @description Checking if execution of "var=1" fails + * @negative + */ + +var = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js new file mode 100644 index 000000000..61f99bce1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "void" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.23.js + * @description Checking if execution of "void=1" fails + * @negative + */ + +void = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js new file mode 100644 index 000000000..8c6c2816d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "while" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.24.js + * @description Checking if execution of "while=1" fails + * @negative + */ + +while = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js new file mode 100644 index 000000000..15a7745b1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "with" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.25.js + * @description Checking if execution of "with=1" fails + * @negative + */ + +with = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js new file mode 100644 index 000000000..f69193845 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "catch" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.3.js + * @description Checking if execution of "catch=1" fails + * @negative + */ + +catch = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js new file mode 100644 index 000000000..86c02078d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "continue" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.4.js + * @description Checking if execution of "contunue=1" fails + * @negative + */ + +continue = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js new file mode 100644 index 000000000..52ad11b46 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "default" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.5.js + * @description Checking if execution of "default=1" fails + * @negative + */ + +default = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js new file mode 100644 index 000000000..b6c24d8bf --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "delete" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.6.js + * @description Checking if execution of "delete=1" fails + * @negative + */ + +delete = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js new file mode 100644 index 000000000..bce1d54ec --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "do" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.7.js + * @description Checking if execution of "do=1" fails + * @negative + */ + +do = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js new file mode 100644 index 000000000..b51909070 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "else" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.8.js + * @description Checking if execution of "else=1" fails + * @negative + */ + +else = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js new file mode 100644 index 000000000..cea582656 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "finally" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.9.js + * @description Checking if execution of "finally=1" fails + * @negative + */ + +finally = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/browser.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/browser.js diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/shell.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.1/shell.js diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2-1gs.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2-1gs.js new file mode 100644 index 000000000..b76c692e7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2-1gs.js @@ -0,0 +1,16 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2-1gs.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'implements' occurs in strict mode code
+ * @onlyStrict
+ * @negative ^((?!NotEarlyError).)*$
+ */
+
+"use strict";
+throw NotEarlyError;
+var implements = 1;
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js new file mode 100644 index 000000000..99014065a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: implements (implements)
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var \u0069mplements = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-18-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-18-s.js new file mode 100644 index 000000000..3327995db --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-18-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-18-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: l\u0065t (let)
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var l\u0065t = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-19-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-19-s.js new file mode 100644 index 000000000..14a5183d8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-19-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-19-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: privat\u0065 (private)
+ * @onlyStrict
+ */
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var privat\u0065 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-20-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-20-s.js new file mode 100644 index 000000000..846805b69 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-20-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-20-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: \u0070\u0075\u0062\u006c\u0069\u0063 (public)
+ * @onlyStrict
+ */
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var \u0070\u0075\u0062\u006c\u0069\u0063 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-21-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-21-s.js new file mode 100644 index 000000000..f0536eac3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-21-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-21-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: \u0079ield (yield)
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var \u0079ield = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-22-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-22-s.js new file mode 100644 index 000000000..5eb6d1ec6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-22-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-22-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: inte\u0072face (interface)
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var inte\u0072face = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-23-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-23-s.js new file mode 100644 index 000000000..db11bad05 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-23-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-23-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: packag\u0065 (package)
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var packag\u0065 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-24-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-24-s.js new file mode 100644 index 000000000..f2c7e9f90 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-24-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-24-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 (protected)
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-25-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-25-s.js new file mode 100644 index 000000000..b6ca63f82 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1-25-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1-25-s.js
+ * @description 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: \u0073\u0074\u0061\u0074\u0069\u0063 (static)
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var \u0073\u0074\u0061\u0074\u0069\u0063 = 123;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js new file mode 100644 index 000000000..3c34bc7cb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'implements' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var implements = 1;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js new file mode 100644 index 000000000..8c5004d91 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js
+ * @description Strict Mode - SyntaxError isn't thrown when 'IMPLEMENTS' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ var IMPLEMENTS = 1;
+ return IMPLEMENTS === 1;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js new file mode 100644 index 000000000..34a017854 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js
+ * @description Strict Mode - SyntaxError isn't thrown when 'Implements' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ var Implements = 1;
+ return Implements === 1;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js new file mode 100644 index 000000000..14796c164 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js
+ * @description Strict Mode - SyntaxError isn't thrown when 'implement' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ var implement = 1;
+ return implement === 1;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js new file mode 100644 index 000000000..4513e1222 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js
+ * @description Strict Mode - SyntaxError isn't thrown when 'implementss' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ var implementss = 1;
+ return implementss === 1;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js new file mode 100644 index 000000000..4863705c0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js
+ * @description Strict Mode - SyntaxError isn't thrown when 'implements0' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ var implements0 = 1;
+ return implements0 === 1;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js new file mode 100644 index 000000000..16f6bc191 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js @@ -0,0 +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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js
+ * @description Strict Mode - SyntaxError isn't thrown when '_implements' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ var _implements = 1;
+ return _implements === 1;
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-2-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-2-s.js new file mode 100644 index 000000000..9f922e41d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-2-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-2-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'let' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var let = 1;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-3-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-3-s.js new file mode 100644 index 000000000..77530dd7b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-3-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-3-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'private' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var private = 1;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-4-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-4-s.js new file mode 100644 index 000000000..6f021380b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-4-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-4-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'public' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var public = 1;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-5-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-5-s.js new file mode 100644 index 000000000..f6a798385 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-5-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-5-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'yield' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var yield = 1;")
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-6-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-6-s.js new file mode 100644 index 000000000..3e1e35ccd --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-6-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-6-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'interface' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var interface = 1;")
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-7-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-7-s.js new file mode 100644 index 000000000..6d2487376 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-7-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-7-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'package' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var package = 1;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-8-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-8-s.js new file mode 100644 index 000000000..8e2f8e8fe --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-8-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-8-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'protected' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var protected = 1;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-9-s.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-9-s.js new file mode 100644 index 000000000..6e5ebfd21 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-9-s.js @@ -0,0 +1,25 @@ +/// 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 ch07/7.6/7.6.1/7.6.1.2/7.6.1.2-9-s.js
+ * @description Strict Mode - SyntaxError is thrown when FutureReservedWord 'static' occurs in strict mode code
+ * @onlyStrict
+ */
+
+
+
+
+function testcase() {
+ "use strict";
+
+ try {
+ eval("var static = 1;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js new file mode 100644 index 000000000..4b7573d26 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "abstract" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.1.js + * @description Checking if execution of "abstract=1" succeeds + */ + +var abstract = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js new file mode 100644 index 000000000..d255891bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "export" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.10.js + * @description Checking if execution of "export=1" fails + * @negative + */ + +var export = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js new file mode 100644 index 000000000..f95dbf77e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "extends" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.11.js + * @description Checking if execution of "extends=1" fails + * @negative + */ + +var extends = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js new file mode 100644 index 000000000..41d1a2aa3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "final" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.12.js + * @description Checking if execution of "final=1" succeeds + */ + +var final = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js new file mode 100644 index 000000000..fcea14220 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "float" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.13.js + * @description Checking if execution of "float=1" succeeds + */ + +var float = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js new file mode 100644 index 000000000..a8c81aef6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "goto" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.14.js + * @description Checking if execution of "goto=1" succeeds + */ + +var goto = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js new file mode 100644 index 000000000..b1d3adb8a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "implements" token can not be used as identifier in strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15.js + * @description Checking if execution of "implements=1" fails in strict code + * @onlyStrict + * @negative + */ + +"use strict"; + +var implements = 1; diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js new file mode 100644 index 000000000..845f7914a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "implements" token can be used as identifier in non-strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.15ns.js + * @description Checking if execution of "implements=1" succeeds in non-strict code + * @noStrict + */ + +var implements = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js new file mode 100644 index 000000000..0e28098f0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "import" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.16.js + * @description Checking if execution of "import=1" fails + * @negative + */ + +var import = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js new file mode 100644 index 000000000..97bd27342 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "int" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.17.js + * @description Checking if execution of "int=1" succeeds + */ + +var int = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js new file mode 100644 index 000000000..e8dd1ff42 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "interface" token can not be used as identifier in strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18.js + * @description Checking if execution of "interface = 1" fails in + * strict code + * @onlyStrict + * @negative + */ + +"use strict"; +var interface = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js new file mode 100644 index 000000000..878a7cd42 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js @@ -0,0 +1,15 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "interface" token can be used as identifier in + * non-strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.18ns.js + * @description Checking if execution of "interface = 1" succeeds in + * non-strict code + * @noStrict + */ + +var interface = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js new file mode 100644 index 000000000..d4905b5aa --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "long" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.19.js + * @description Checking if execution of "long=1" succeeds + */ + +var long = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js new file mode 100644 index 000000000..16f86cd48 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "boolean" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.2.js + * @description Checking if execution of "boolean=1" succeeds + */ + +var boolean = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js new file mode 100644 index 000000000..1646a5a8f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "native" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.20.js + * @description Checking if execution of "native=1" succeeds + */ + +var native = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js new file mode 100644 index 000000000..ef2d1dacc --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "package" token can not be used as identifier in strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21.js + * @description Checking if execution of "package=1" fails in strict code + * @onlyStrict + * @negative + */ + +"use strict"; +var package = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js new file mode 100644 index 000000000..3a33532fe --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "package" token can be used as identifier in non-strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.21ns.js + * @description Checking if execution of "package=1" succeeds in non-strict code + * @noStrict + */ + +var package = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js new file mode 100644 index 000000000..45fc83f29 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "private" token can not be used as identifier in strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22.js + * @description Checking if execution of "private=1" fails in strict code + * @onlyStrict + * @negative + */ + +"use strict"; +var private = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js new file mode 100644 index 000000000..0562ca843 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "private" token can be used as identifier in non-strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.22ns.js + * @description Checking if execution of "private=1" succeeds in non-strict code + * @noStrict + */ + +var private = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js new file mode 100644 index 000000000..c04b13172 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "protected" token can not be used as identifier in strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23.js + * @description Checking if execution of "protected=1" fails in + * strict code + * @onlyStrict + * @negative + */ + +"use strict"; +var protected = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js new file mode 100644 index 000000000..499512d5b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "protected" token can be used as identifier in non-strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.23ns.js + * @description Checking if execution of "protected=1" succeeds in non-strict code + * @noStrict + */ + +var protected = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js new file mode 100644 index 000000000..55f99e8fd --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "public" token can not be used as identifier in strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24.js + * @description Checking if execution of "public=1" fails in strict code + * @onlyStrict + * @negative + */ + +"use strict"; +var public = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js new file mode 100644 index 000000000..7090147cd --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "public" token can be used as identifier in non-strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.24ns.js + * @description Checking if execution of "public=1" succeeds in non-strict code + * @noStrict + */ + +var public = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js new file mode 100644 index 000000000..0c11e3cf3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "short" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.25.js + * @description Checking if execution of "short=1" succeeds + */ + +var short = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js new file mode 100644 index 000000000..a1f336935 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "static" token can not be used as identifier in strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26.js + * @description Checking if execution of "static=1" fails in strict code + * @onlyStrict + * @negative + */ + +"use strict"; +var static = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js new file mode 100644 index 000000000..2e7e1f7b7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js @@ -0,0 +1,13 @@ +// Copyright 2011 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "static" token can be used as identifier in non-strict code + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.26ns.js + * @description Checking if execution of "static=1" succeeds in non-strict code + * @noStrict + */ + +var static = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js new file mode 100644 index 000000000..c78862fb9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "super" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.27.js + * @description Checking if execution of "super=1" fails + * @negative + */ + +var super = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js new file mode 100644 index 000000000..515372a7a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "synchronized" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.28.js + * @description Checking if execution of "synchronized=1" succeeds + */ + +var synchronized = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js new file mode 100644 index 000000000..54dec6155 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "throws" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.29.js + * @description Checking if execution of "throws=1" succeeds + */ + +var throws = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js new file mode 100644 index 000000000..50c5d7885 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "byte" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.3.js + * @description Checking if execution of "byte=1" succeeds + */ + +var byte = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js new file mode 100644 index 000000000..37128f047 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "transient" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.30.js + * @description Checking if execution of "transient=1" succeeds + */ + +var transient = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js new file mode 100644 index 000000000..57fb357d8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "volatile" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.31.js + * @description Checking if execution of "volatile=1" succeeds + */ + +var volatile = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js new file mode 100644 index 000000000..1af1677e4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "char" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.4.js + * @description Checking if execution of "char=1" succeeds + */ + +var char = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js new file mode 100644 index 000000000..b84b44248 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "class" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.5.js + * @description Checking if execution of "class=1" fails + * @negative + */ + +var class = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js new file mode 100644 index 000000000..da95d7ebf --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "const" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.6.js + * @description Checking if execution of "const=1" fails + * @negative + */ + +var const = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js new file mode 100644 index 000000000..ed4c3f0fc --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "debugger" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.7.js + * @description Checking if execution of "debugger=1" fails + * @negative + */ + +var debugger = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js new file mode 100644 index 000000000..70a0a0a49 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js @@ -0,0 +1,12 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "double" token can be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.8.js + * @description Checking if execution of "double=1" succeeds + */ + +var double = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js new file mode 100644 index 000000000..5294cb0d0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "enum" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.2/S7.6.1.2_A1.9.js + * @description Checking if execution of "enum=1" fails + * @negative + */ + +var enum = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/browser.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/browser.js diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/shell.js b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/7.6.1.2/shell.js diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.1.js b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.1.js new file mode 100644 index 000000000..d97c7843a --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.1.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "null" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/S7.6.1_A1.1.js + * @description Checking if execution of "null = 1" fails + * @negative + */ + +null = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.2.js b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.2.js new file mode 100644 index 000000000..2c49731cb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.2.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "true" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/S7.6.1_A1.2.js + * @description Checking if execution of "true=1" fails + * @negative + */ + +true = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.3.js b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.3.js new file mode 100644 index 000000000..01cf52f75 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A1.3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "false" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/S7.6.1_A1.3.js + * @description Checking if execution of "false=1" fails + * @negative + */ + +false = 1; + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A2.js b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A2.js new file mode 100644 index 000000000..e123f067f --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/S7.6.1_A2.js @@ -0,0 +1,121 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * List of words that are not reserved + * + * @path ch07/7.6/7.6.1/S7.6.1_A2.js + * @description Try assign 1 for not reserved words + */ + +// a +var and = 1; +var and_eq = 1; +var as = 1; +var asm = 1; +var assert = 1; +var auto = 1; +// b +var base = 1; +var bitand = 1; +var bitor = 1; +var bool = 1; +var byvalue = 1; +// c +var checked = 1; +var clone = 1; +var comment = 1; +var compl = 1; +var const_cast = 1; +// d +var decimal = 1; +var delegate = 1; +var dynamic_cast = 1; +// e +var explicit = 1; +var extern = 1; +var equals = 1; +var event = 1; +// f +var finalize = 1; +var fixed = 1; +var friend = 1; +var foreach = 1; +var future = 1; +// g +var getClass = 1; +var generic = 1; +// h +var hashCode = 1; +// i +var implicit = 1; +var infinity = 1; +var inline = 1; +var inner = 1; +var internal = 1; +var is = 1; +// j +// k +// l +var lock = 1; +// m +var mutable = 1; +// n +var namespace = 1; +var not = 1; +var notify = 1; +var notifyAll = 1; +var not_eq = 1; +// o +var object = 1; +var operator = 1; +var or = 1; +var or_eq = 1; +var out = 1; +var outer = 1; +var override = 1; +// p +var params = 1; +// q +// r +var readonly = 1; +var reinterpret_cast = 1; +var ref = 1; +var register = 1; + +// s +var sbyte = 1; +var signed = 1; +var sizeof = 1; +var stackalloc = 1; +var static_cast = 1; +var string = 1; +var strictfp = 1; +var struct = 1; +// t +var template = 1; +var toString = 1; +var typedef = 1; +var typeid = 1; +// u +var uint = 1; +var unchecked = 1; +var undefiend = 1; +var union = 1; +var unsafe = 1; +var unsigned = 1; +var use = 1; +var using = 1; +var ushort = 1; +// v +var valueOf = 1; +var virtual = 1; +// w +var wait = 1; +var wchar_t = 1; +// x +var xor = 1; +var xor_eq = 1; +// y +// z + diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/browser.js b/js/src/tests/test262/ch07/7.6/7.6.1/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/browser.js diff --git a/js/src/tests/test262/ch07/7.6/7.6.1/shell.js b/js/src/tests/test262/ch07/7.6/7.6.1/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/7.6.1/shell.js diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T1.js b/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T1.js new file mode 100644 index 000000000..54aee1064 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T1.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierStart :: $ + * + * @path ch07/7.6/S7.6_A1.2_T1.js + * @description Create variable $ + */ + +//CHECK#1 +var $ = 1; +if ($ !== 1) { + $ERROR('#1: var $ = 1; $ === 1. Actual: ' + ($)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T2.js b/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T2.js new file mode 100644 index 000000000..d6474ac41 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T2.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierStart :: $ + * + * @path ch07/7.6/S7.6_A1.2_T2.js + * @description The $ as unicode character \u0024 + */ + +//CHECK#1 +var \u0024 = 1; +if ($ !== 1) { + $ERROR('#1: var \\u0024 = 1; $ === 1. Actual: ' + ($)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T3.js b/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T3.js new file mode 100644 index 000000000..571075a76 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A1.2_T3.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierStart :: $ + * + * @path ch07/7.6/S7.6_A1.2_T3.js + * @description The $ as unicode character \u0024 + */ + +//CHECK#1 +var identifier = String.fromCharCode(0x0024); +eval("var " + identifier + "=1"); +if (eval(identifier + "===1") !== true) { + $ERROR('#1: var identifier = String.fromCharCode(0x0024); eval("var " + identifier + "=1"); eval(identifier + "===1") === true'); +} + +//CHECK#2 +if ("$" !== String.fromCharCode(0x0024)) { + $ERROR('#2: "$" === String.fromCharCode(0x0024)'); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T1.js b/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T1.js new file mode 100644 index 000000000..8d1164d2b --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T1.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierStart :: _ + * + * @path ch07/7.6/S7.6_A1.3_T1.js + * @description Create variable _ + */ + +//CHECK#1 +var _ = 1; +if (_ !== 1) { + $ERROR('#1: var _ = 1; _ === 1. Actual: ' + (_)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T2.js b/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T2.js new file mode 100644 index 000000000..ba300f76d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T2.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierStart :: _ + * + * @path ch07/7.6/S7.6_A1.3_T2.js + * @description The _ as unicode character \u005F + */ + +//CHECK#1 +var \u005F = 1; +if (_ !== 1) { + $ERROR('#1: var \\u005F = 1; _ === 1. Actual: ' + (_)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T3.js b/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T3.js new file mode 100644 index 000000000..e3a8361c2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A1.3_T3.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierStart :: _ + * + * @path ch07/7.6/S7.6_A1.3_T3.js + * @description The _ as unicode character \u005F + */ + +//CHECK#1 +var identifier = String.fromCharCode(0x005F); +eval("var " + identifier + "=1"); +if (eval(identifier + "===1") !== true) { + $ERROR('#1: var identifier = String.fromCharCode(0x005F); eval("var " + identifier + "=1"); eval(identifier + "===1") === true'); +} + +//CHECK#2 +if ("_" !== String.fromCharCode(0x005F)) { + $ERROR('#2: "_" === String.fromCharCode(0x005F)'); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T1.js b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T1.js new file mode 100644 index 000000000..5ef24abef --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T1.js @@ -0,0 +1,75 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierPart :: IdentifierStart + * + * @path ch07/7.6/S7.6_A2.1_T1.js + * @description IdentifierStart :: UnicodeLetter + */ + +//CHECK#1 +try { + var identifier = "x" + "x"; + eval("var " + identifier + "=1"); + if (xx !== 1) { + $ERROR('#1.1: var identifier = "x" + "x"; eval("var " + identifier + "=1"); xx === 1. Actual: ' + (xx)); + } +} catch (e) { + $ERROR('#1.2: var identifier = "x" + "x"; eval("var " + identifier + "=1"); xx === 1. Actual: ' + (xx)); +} + +//CHECK#2 +try { + var identifier = "x" + String.fromCharCode(0x0078); + eval("var " + identifier + "=2"); + if (xx !== 2) { + $ERROR('#2.1: var identifier = "x" + String.fromCharCode(0x0078); eval("var " + identifier + "=2"); xx === 2. Actual: ' + (xx)); + } +} catch (e) { + $ERROR('#2.2: var identifier = "x" + String.fromCharCode(0x0078); eval("var " + identifier + "=2"); xx === 2. Actual: ' + (xx)); +} + +//CHECK#3 +try { + var identifier = String.fromCharCode(0x0078) + String.fromCharCode(0x0078); + eval("var " + identifier + "=3"); + if (xx !== 3) { + $ERROR('#3.1: var identifier = String.fromCharCode(0x0078) + String.fromCharCode(0x0078); eval("var " + identifier + "=3"); xx === 3. Actual: ' + (xx)); + } +} catch (e) { + $ERROR('#3.2: var identifier = String.fromCharCode(0x0078) + String.fromCharCode(0x0078); eval("var " + identifier + "=3"); xx === 3. Actual: ' + (xx)); +} + +//CHECK#4 +try { + var identifier = "$" + String.fromCharCode(0x0078); + eval("var " + identifier + "=4"); + if ($x !== 4) { + $ERROR('#4.1: var identifier = "$" + String.fromCharCode(0x0078); eval("var " + identifier + "=4"); $x === 4. Actual: ' + ($x)); + } +} catch (e) { + $ERROR('#4.2: var identifier = "$" + String.fromCharCode(0x0078); eval("var " + identifier + "=4"); $x === 4. Actual: ' + ($x)); +} + +//CHECK#5 +try { + var identifier = "_" + String.fromCharCode(0x0078); + eval("var " + identifier + "=5"); + if (_x !== 5) { + $ERROR('#5.1: var identifier = "_" + String.fromCharCode(0x0078); eval("var " + identifier + "=5"); _x === 5. Actual: ' + (_x)); + } +} catch (e) { + $ERROR('#5.2: var identifier = "_" + String.fromCharCode(0x0078); eval("var " + identifier + "=5"); _x === 5. Actual: ' + (_x)); +} + +//CHECK#6 +try { + var \u0078x = 6; + if (xx !== 6) { + $ERROR('#6.1: var \\u0078x = 1; xx === 6. Actual: ' + (xx)); + } +} catch (e) { + $ERROR('#6.2: var \\u0078x = 1; xx === 6. Actual: ' + (xx)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T2.js b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T2.js new file mode 100644 index 000000000..3d595b566 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T2.js @@ -0,0 +1,75 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierPart :: IdentifierStart + * + * @path ch07/7.6/S7.6_A2.1_T2.js + * @description IdentifierStart :: $ + */ + +//CHECK#1 +try { + var identifier = "x" + "$"; + eval("var " + identifier + "=1"); + if (x$ !== 1) { + $ERROR('#1.1: var identifier = "x" + "$"; eval("var " + identifier + "=1"); x$ === 1. Actual: ' + (x$)); + } +} catch (e) { + $ERROR('#1.2: var identifier = "x" + "$"; eval("var " + identifier + "=1"); x$ === 1. Actual: ' + (x$)); +} + +//CHECK#2 +try { + var identifier = String.fromCharCode(0x0078) + "$"; + eval("var " + identifier + "=2"); + if (x$ !== 2) { + $ERROR('#2.1: var identifier = String.fromCharCode(0x0078) + "$"; eval("var " + identifier + "=2"); x$ === 2. Actual: ' + (x$)); + } +} catch (e) { + $ERROR('#2.2: var identifier = String.fromCharCode(0x0078) + "$"; eval("var " + identifier + "=2"); x$ === 2. Actual: ' + (x$)); +} + +//CHECK#3 +try { + var identifier = "$" + "$"; + eval("var " + identifier + "=3"); + if ($$ !== 3) { + $ERROR('#3.1: var identifier = "$" + "$"; eval("var " + identifier + "=3"); $$ === 3. Actual: ' + ($$)); + } +} catch (e) { + $ERROR('#3.2: var identifier = "$" + "$"; eval("var " + identifier + "=3"); $$ === 3. Actual: ' + ($$)); +} + +//CHECK#4 +try { + var identifier = String.fromCharCode(0x0024) + String.fromCharCode(0x0024); + eval("var " + identifier + "=4"); + if ($$ !== 4) { + $ERROR('#4.1: var identifier = String.fromCharCode(0x0024) + String.fromCharCode(0x0024); eval("var " + identifier + "=4"); $$ === 4. Actual: ' + ($$)); + } +} catch (e) { + $ERROR('#4.2: var identifier = String.fromCharCode(0x0024) + String.fromCharCode(0x0024); eval("var " + identifier + "=4"); $$ === 4. Actual: ' + ($$)); +} + +//CHECK#5 +try { + var identifier = "_" + "$"; + eval("var " + identifier + "=5"); + if (_$ !== 5) { + $ERROR('#5.1: var identifier = "_" + "$"; eval("var " + identifier + "=5"); _$ === 5. Actual: ' + (_$)); + } +} catch (e) { + $ERROR('#5.2: var identifier = "_" + "$"; eval("var " + identifier + "=5"); _$ === 5. Actual: ' + (_$)); +} + +//CHECK#6 +try { + var \u0078$ = 6; + if (x$ !== 6) { + $ERROR('#6.1: var \\u0078$ = 1; x$ === 6. Actual: ' + (x$)); + } +} catch (e) { + $ERROR('#6.2: var \\u0078$ = 1; x$ === 6. Actual: ' + (x$)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T3.js b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T3.js new file mode 100644 index 000000000..9c1032169 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T3.js @@ -0,0 +1,75 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierPart :: IdentifierStart + * + * @path ch07/7.6/S7.6_A2.1_T3.js + * @description IdentifierStart :: _ + */ + +//CHECK#1 +try { + var identifier = "x" + "_"; + eval("var " + identifier + "=1"); + if (x_ !== 1) { + $ERROR('#1.1: var identifier = "x" + "_"; eval("var " + identifier + "=1"); x_ === 1. Actual: ' + (x_)); + } +} catch (e) { + $ERROR('#1.2: var identifier = "x" + "_"; eval("var " + identifier + "=1"); x_ === 1. Actual: ' + (x_)); +} + +//CHECK#2 +try { + var identifier = String.fromCharCode(0x0078) + "_"; + eval("var " + identifier + "=2"); + if (x_ !== 2) { + $ERROR('#2.1: var identifier = String.fromCharCode(0x0078) + "_"; eval("var " + identifier + "=2"); x_ === 2. Actual: ' + (x_)); + } +} catch (e) { + $ERROR('#2.2: var identifier = String.fromCharCode(0x0078) + "_"; eval("var " + identifier + "=2"); x_ === 2. Actual: ' + (x_)); +} + +//CHECK#3 +try { + var identifier = "_" + "_"; + eval("var " + identifier + "=3"); + if (__ !== 3) { + $ERROR('#3.1: var identifier = "_" + "_"; eval("var " + identifier + "=3"); __ === 3. Actual: ' + (__)); + } +} catch (e) { + $ERROR('#3.2: var identifier = "_" + "_"; eval("var " + identifier + "=3"); __ === 3. Actual: ' + (__)); +} + +//CHECK#4 +try { + var identifier = String.fromCharCode(0x005F) + String.fromCharCode(0x005F); + eval("var " + identifier + "=4"); + if (__ !== 4) { + $ERROR('#4.1: var identifier = String.fromCharCode(0x005F) + String.fromCharCode(0x005F); eval("var " + identifier + "=4"); __ === 4. Actual: ' + (__)); + } +} catch (e) { + $ERROR('#4.2: var identifier = String.fromCharCode(0x005F) + String.fromCharCode(0x005F); eval("var " + identifier + "=4"); __ === 4. Actual: ' + (__)); +} + +//CHECK#5 +try { + var identifier = "_" + "_"; + eval("var " + identifier + "=5"); + if (__ !== 5) { + $ERROR('#5.1: var identifier = "_" + "_"; eval("var " + identifier + "=5"); __ === 5. Actual: ' + (__)); + } +} catch (e) { + $ERROR('#5.2: var identifier = "_" + "_"; eval("var " + identifier + "=5"); __ === 5. Actual: ' + (__)); +} + +//CHECK#6 +try { + var \u0078_ = 6; + if (x_ !== 6) { + $ERROR('#6.1: var \\u0078_ = 1; x_ === 6. Actual: ' + (x_)); + } +} catch (e) { + $ERROR('#6.2: var \\u0078_ = 1; x_ === 6. Actual: ' + (x_)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T4.js b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T4.js new file mode 100644 index 000000000..a03182254 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A2.1_T4.js @@ -0,0 +1,50 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * IdentifierPart :: IdentifierStart + * + * @path ch07/7.6/S7.6_A2.1_T4.js + * @description IdentifierStart :: \UnicodeEscapeSequence + */ + +//CHECK#1 +try { + var x\u0078 = 1; + if (xx !== 1) { + $ERROR('#1.1: var x\\u0078 = 1; xx === 1. Actual: ' + (xx)); + } +} catch (e) { + $ERROR('#1.2: var x\\u0078 = 1; xx === 1. Actual: ' + (xx)); +} + +//CHECK#2 +try { + var \u0078\u0078 = 2; + if (xx !== 2) { + $ERROR('#2.1: var \\u0078\\u0078 = 1; xx === 2. Actual: ' + (xx)); + } +} catch (e) { + $ERROR('#2.2: var \\u0078\\u0078 = 1; xx === 2. Actual: ' + (xx)); +} + +//CHECK#3 +try { + var \u0024\u0024 = 3; + if ($$ !== 3) { + $ERROR('#3.1: var \\u0024\\u0024 = 1; $$ === 3. Actual: ' + ($$)); + } +} catch (e) { + $ERROR('#3.2: var \\u0024\\u0024 = 1; $$ === 3. Actual: ' + ($$)); +} + +//CHECK#4 +try { + var \u005F\u005F = 4; + if (__ !== 4) { + $ERROR('#4.1: var \\u005F\\u005F = 1; __ === 4. Actual: ' + (__)); + } +} catch (e) { + $ERROR('#4.2: var \\u005F\\u005F = 1; __ === 4. Actual: ' + (__)); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A4.1_T1.js b/js/src/tests/test262/ch07/7.6/S7.6_A4.1_T1.js new file mode 100644 index 000000000..1e18ed18d --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A4.1_T1.js @@ -0,0 +1,116 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of ENGLISH ALPHABET + * + * @path ch07/7.6/S7.6_A4.1_T1.js + * @description Check ENGLISH CAPITAL ALPHABET + */ + +//CHECK#A-Z +var \u0041 = 1; +if (A !== 1) { + $ERROR('#A'); +} +var \u0042 = 1; +if (B !== 1) { + $ERROR('#B'); +} +var \u0043 = 1; +if (C !== 1) { + $ERROR('#C'); +} +var \u0044 = 1; +if (D !== 1) { + $ERROR('#D'); +} +var \u0045 = 1; +if (E !== 1) { + $ERROR('#E'); +} +var \u0046 = 1; +if (F !== 1) { + $ERROR('#F'); +} +var \u0047 = 1; +if (G !== 1) { + $ERROR('#G'); +} +var \u0048 = 1; +if (H !== 1) { + $ERROR('#H'); +} +var \u0049 = 1; +if (I !== 1) { + $ERROR('#I'); +} +var \u004A = 1; +if (J !== 1) { + $ERROR('#J'); +} +var \u004B = 1; +if (K !== 1) { + $ERROR('#K'); +} +var \u004C = 1; +if (L !== 1) { + $ERROR('#L'); +} +var \u004D = 1; +if (M !== 1) { + $ERROR('#M'); +} +var \u004E = 1; +if (N !== 1) { + $ERROR('#N'); +} +var \u004F = 1; +if (O !== 1) { + $ERROR('#O'); +} +var \u0050 = 1; +if (P !== 1) { + $ERROR('#P'); +} +var \u0051 = 1; +if (Q !== 1) { + $ERROR('#Q'); +} +var \u0052 = 1; +if (R !== 1) { + $ERROR('#R'); +} +var \u0053 = 1; +if (S !== 1) { + $ERROR('#S'); +} +var \u0054 = 1; +if (T !== 1) { + $ERROR('#T'); +} +var \u0055 = 1; +if (U !== 1) { + $ERROR('#U'); +} +var \u0056 = 1; +if (V !== 1) { + $ERROR('#V'); +} +var \u0057 = 1; +if (W !== 1) { + $ERROR('#W'); +} +var \u0058 = 1; +if (X !== 1) { + $ERROR('#X'); +} +var \u0059 = 1; +if (Y !== 1) { + $ERROR('#Y'); +} +var \u005A = 1; +if (Z !== 1) { + $ERROR('#Z'); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A4.1_T2.js b/js/src/tests/test262/ch07/7.6/S7.6_A4.1_T2.js new file mode 100644 index 000000000..20003197e --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A4.1_T2.js @@ -0,0 +1,117 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of ENGLISH ALPHABET + * + * @path ch07/7.6/S7.6_A4.1_T2.js + * @description Check ENGLISH SMALL ALPHABET + */ + +//CHECK#a-z +var \u0061 = 1; +if (a !== 1) { + $ERROR('#a'); +} +var \u0062 = 1; +if (b !== 1) { + $ERROR('#b'); +} +var \u0063 = 1; +if (c !== 1) { + $ERROR('#c'); +} +var \u0064 = 1; +if (d !== 1) { + $ERROR('#d'); +} +var \u0065 = 1; +if (e !== 1) { + $ERROR('#e'); +} +var \u0066 = 1; +if (f !== 1) { + $ERROR('#f'); +} +var \u0067 = 1; +if (g !== 1) { + $ERROR('#g'); +} +var \u0068 = 1; +if (h !== 1) { + $ERROR('#h'); +} +var \u0069 = 1; +if (i !== 1) { + $ERROR('#i'); +} +var \u006A = 1; +if (j !== 1) { + $ERROR('#j'); +} +var \u006B = 1; +if (k !== 1) { + $ERROR('#k'); +} +var \u006C = 1; +if (l !== 1) { + $ERROR('#l'); +} +var \u006D = 1; +if (m !== 1) { + $ERROR('#m'); +} +var \u006E = 1; +if (n !== 1) { + $ERROR('#n'); +} +var \u006F = 1; +if (o !== 1) { + $ERROR('#o'); +} +var \u0070 = 1; +if (p !== 1) { + $ERROR('#p'); +} +var \u0071 = 1; +if (q !== 1) { + $ERROR('#q'); +} +var \u0072 = 1; +if (r !== 1) { + $ERROR('#r'); +} +var \u0073 = 1; +if (s !== 1) { + $ERROR('#s'); +} +var \u0074 = 1; +if (t !== 1) { + $ERROR('#t'); +} +var \u0075 = 1; +if (u !== 1) { + $ERROR('#u'); +} +var \u0076 = 1; +if (v !== 1) { + $ERROR('#v'); +} +var \u0077 = 1; +if (w !== 1) { + $ERROR('#w'); +} +var \u0078 = 1; +if (x !== 1) { + $ERROR('#x'); +} +var \u0079 = 1; +if (y !== 1) { + $ERROR('#y'); +} +var \u007A = 1; +if (z !== 1) { + $ERROR('#z'); +} + + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A4.2_T1.js b/js/src/tests/test262/ch07/7.6/S7.6_A4.2_T1.js new file mode 100644 index 000000000..e588b8c15 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A4.2_T1.js @@ -0,0 +1,144 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of RUSSIAN ALPHABET + * + * @path ch07/7.6/S7.6_A4.2_T1.js + * @description Check RUSSIAN CAPITAL ALPHABET + */ + +//CHECK#А-Я +var \u0410 = 1; +if (А !== 1) { + $ERROR('#А'); +} +var \u0411 = 1; +if (Б !== 1) { + $ERROR('#Б'); +} +var \u0412 = 1; +if (В !== 1) { + $ERROR('#В'); +} +var \u0413 = 1; +if (Г !== 1) { + $ERROR('#Г'); +} +var \u0414 = 1; +if (Д !== 1) { + $ERROR('#Д'); +} +var \u0415 = 1; +if (Е !== 1) { + $ERROR('#Е'); +} +var \u0416 = 1; +if (Ж !== 1) { + $ERROR('#Ж'); +} +var \u0417 = 1; +if (З !== 1) { + $ERROR('#З'); +} +var \u0418 = 1; +if (И !== 1) { + $ERROR('#И'); +} +var \u0419 = 1; +if (Й !== 1) { + $ERROR('#Й'); +} +var \u041A = 1; +if (К !== 1) { + $ERROR('#К'); +} +var \u041B = 1; +if (Л !== 1) { + $ERROR('#Л'); +} +var \u041C = 1; +if (М !== 1) { + $ERROR('#М'); +} +var \u041D = 1; +if (Н !== 1) { + $ERROR('#Н'); +} +var \u041E = 1; +if (О !== 1) { + $ERROR('#О'); +} +var \u041F = 1; +if (П !== 1) { + $ERROR('#П'); +} +var \u0420 = 1; +if (Р !== 1) { + $ERROR('#Р'); +} +var \u0421 = 1; +if (С !== 1) { + $ERROR('#С'); +} +var \u0422 = 1; +if (Т !== 1) { + $ERROR('#Т'); +} +var \u0423 = 1; +if (У !== 1) { + $ERROR('#У'); +} +var \u0424 = 1; +if (Ф !== 1) { + $ERROR('#Ф'); +} +var \u0425 = 1; +if (Х !== 1) { + $ERROR('#Х'); +} +var \u0426 = 1; +if (Ц !== 1) { + $ERROR('#Ц'); +} +var \u0427 = 1; +if (Ч !== 1) { + $ERROR('#Ч'); +} +var \u0428 = 1; +if (Ш !== 1) { + $ERROR('#Ш'); +} +var \u0429 = 1; +if (Щ !== 1) { + $ERROR('#Щ'); +} +var \u042A = 1; +if (Ъ !== 1) { + $ERROR('#Ъ'); +} +var \u042B = 1; +if (Ы !== 1) { + $ERROR('#Ы'); +} +var \u042C = 1; +if (Ь !== 1) { + $ERROR('#Ь'); +} +var \u042D = 1; +if (Э !== 1) { + $ERROR('#Э'); +} +var \u042E = 1; +if (Ю !== 1) { + $ERROR('#Ю'); +} +var \u042F = 1; +if (Я !== 1) { + $ERROR('#Я'); +} +var \u0401 = 1; +if (Ё !== 1) { + $ERROR('#Ё'); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A4.2_T2.js b/js/src/tests/test262/ch07/7.6/S7.6_A4.2_T2.js new file mode 100644 index 000000000..119b94918 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A4.2_T2.js @@ -0,0 +1,144 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of RUSSIAN ALPHABET + * + * @path ch07/7.6/S7.6_A4.2_T2.js + * @description Check RUSSIAN SMALL ALPHABET + */ + +//CHECK#а-я +var \u0430 = 1; +if (а !== 1) { + $ERROR('#а'); +} +var \u0431 = 1; +if (б !== 1) { + $ERROR('#б'); +} +var \u0432 = 1; +if (в !== 1) { + $ERROR('#в'); +} +var \u0433 = 1; +if (г !== 1) { + $ERROR('#г'); +} +var \u0434 = 1; +if (д !== 1) { + $ERROR('#д'); +} +var \u0435 = 1; +if (е !== 1) { + $ERROR('#е'); +} +var \u0436 = 1; +if (ж !== 1) { + $ERROR('#ж'); +} +var \u0437 = 1; +if (з !== 1) { + $ERROR('#з'); +} +var \u0438 = 1; +if (и !== 1) { + $ERROR('#и'); +} +var \u0439 = 1; +if (й !== 1) { + $ERROR('#й'); +} +var \u043A = 1; +if (к !== 1) { + $ERROR('#к'); +} +var \u043B = 1; +if (л !== 1) { + $ERROR('#л'); +} +var \u043C = 1; +if (м !== 1) { + $ERROR('#м'); +} +var \u043D = 1; +if (н !== 1) { + $ERROR('#н'); +} +var \u043E = 1; +if (о !== 1) { + $ERROR('#о'); +} +var \u043F = 1; +if (п !== 1) { + $ERROR('#п'); +} +var \u0440 = 1; +if (р !== 1) { + $ERROR('#р'); +} +var \u0441 = 1; +if (с !== 1) { + $ERROR('#с'); +} +var \u0442 = 1; +if (т !== 1) { + $ERROR('#т'); +} +var \u0443 = 1; +if (у !== 1) { + $ERROR('#у'); +} +var \u0444 = 1; +if (ф !== 1) { + $ERROR('#ф'); +} +var \u0445 = 1; +if (х !== 1) { + $ERROR('#х'); +} +var \u0446 = 1; +if (ц !== 1) { + $ERROR('#ц'); +} +var \u0447 = 1; +if (ч !== 1) { + $ERROR('#ч'); +} +var \u0448 = 1; +if (ш !== 1) { + $ERROR('#ш'); +} +var \u0449 = 1; +if (щ !== 1) { + $ERROR('#щ'); +} +var \u044A = 1; +if (ъ !== 1) { + $ERROR('#ъ'); +} +var \u044B = 1; +if (ы !== 1) { + $ERROR('#ы'); +} +var \u044C = 1; +if (ь !== 1) { + $ERROR('#ь'); +} +var \u044D = 1; +if (э !== 1) { + $ERROR('#э'); +} +var \u044E = 1; +if (ю !== 1) { + $ERROR('#ю'); +} +var \u044F = 1; +if (я !== 1) { + $ERROR('#я'); +} +var \u0451 = 1; +if (ё !== 1) { + $ERROR('#ё'); +} + diff --git a/js/src/tests/test262/ch07/7.6/S7.6_A4.3_T1.js b/js/src/tests/test262/ch07/7.6/S7.6_A4.3_T1.js new file mode 100644 index 000000000..ab13aa253 --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/S7.6_A4.3_T1.js @@ -0,0 +1,52 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of DIGITS + * + * @path ch07/7.6/S7.6_A4.3_T1.js + * @description Identifier is $+ANY_DIGIT + */ + +//CHECK#0-9 +var $\u0030 = 0; +if ($0 !== 0) { + $ERROR('#0: $\\u0030 = 0; $0 === 0'); +} +var $\u0031 = 1; +if ($1 !== 1) { + $ERROR('#1: $\\u0031 = 1; $1 === 1'); +} +var $\u0032 = 2; +if ($2 !== 2) { + $ERROR('#2: $\\u0032 = 2; $2 === 2'); +} +var $\u0033 = 3; +if ($3 !== 3) { + $ERROR('#3: $\\u0033 = 3; $3 === 3'); +} +var $\u0034 = 4; +if ($4 !== 4) { + $ERROR('#4: $\\u0034 = 4; $4 === 4'); +} +var $\u0035 = 5; +if ($5 !== 5) { + $ERROR('#5: $\\u0035 = 5; $5 === 5'); +} +var $\u0036 = 6; +if ($6 !== 6) { + $ERROR('#6: $\\u0036 = 6; $6 === 6'); +} +var $\u0037 = 7; +if ($7 !== 7) { + $ERROR('#7: $\\u0037 = 7; $7 === 7'); +} +var $\u0038 = 8; +if ($8 !== 8) { + $ERROR('#8: $\\u0038 = 8; $8 === 8'); +} +var $\u0039 = 9; +if ($9 !== 9) { + $ERROR('#9: $\\u0039 = 9; $9 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.6/browser.js b/js/src/tests/test262/ch07/7.6/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/browser.js diff --git a/js/src/tests/test262/ch07/7.6/shell.js b/js/src/tests/test262/ch07/7.6/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.6/shell.js diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A1.js b/js/src/tests/test262/ch07/7.7/S7.7_A1.js new file mode 100644 index 000000000..e033e1164 --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of all punctuators + * + * @path ch07/7.7/S7.7_A1.js + * @description Using all punctuators + */ + +//CHECK#1 + ({});[]; + this.NaN; + 1 < 2 > 3 <= 4 >= 5 == 6 != 7 === 8 !== 9; + 1 + 2 - 3 * 4 % 5 / 6 << 7 >> 8 >>> 9; + this.NaN++; ++this.NaN; this.NaN--; --this.NaN; + 1 & 2 | 3 ^ 4 && !5 || ~6; + 1 ? 2 : 3; + this.NaN = 1; this.NaN += 2; this.NaN -= 3; this.NaN *= 4; this.NaN /= 5; + this.NaN %= 6; this.NaN <<= 7; this.NaN >>= 8; this.NaN >>>= 9; + this.NaN &= 1; this.NaN |= 2; this.NaN ^= 3; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T1.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T1.js new file mode 100644 index 000000000..1a545639d --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T1.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T1.js + * @description Try to use {} as a Unicode \u007B\u007D + * @negative + */ + +\u007B\u007D; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T10.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T10.js new file mode 100644 index 000000000..6d71a5617 --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T10.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T10.js + * @description Try to use / as a Unicode \u002F + * @negative + */ + +1\u002F2; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T2.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T2.js new file mode 100644 index 000000000..1a06e190e --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T2.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T2.js + * @description Try to use () as Unicode \u00281\u0029 + * @negative + */ + +\u00281\u0029; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T3.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T3.js new file mode 100644 index 000000000..1b9b950f4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T3.js + * @description Try to use [] as a Unicode \u005B\u005D + * @negative + */ + +\u005B\u005D; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T4.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T4.js new file mode 100644 index 000000000..c877858e2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T4.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T4.js + * @description Try to use ; as a Unicode \u003B + * @negative + */ + +\u003B; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T5.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T5.js new file mode 100644 index 000000000..1b92226af --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T5.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T5.js + * @description Try to use . as a Unicode \u002E + * @negative + */ + +x = 1; +this\u002Ex; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T6.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T6.js new file mode 100644 index 000000000..e0cb0382f --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T6.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T6.js + * @description Try to use , as a Unicode \u002C + * @negative + */ + +1\u002C2; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T7.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T7.js new file mode 100644 index 000000000..aff3092a6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T7.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T7.js + * @description Try to use + as a Unicode \u002B + * @negative + */ + +1\u002B2; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T8.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T8.js new file mode 100644 index 000000000..9e9cd1ac4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T8.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T8.js + * @description Try to use - as a Unicode \u002D + * @negative + */ + +1\u002D2; + diff --git a/js/src/tests/test262/ch07/7.7/S7.7_A2_T9.js b/js/src/tests/test262/ch07/7.7/S7.7_A2_T9.js new file mode 100644 index 000000000..7ba61f5a9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/S7.7_A2_T9.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Punctuator cannot be expressed as a Unicode escape sequence consisting of six characters, namely \u plus four hexadecimal digits + * + * @path ch07/7.7/S7.7_A2_T9.js + * @description Try to use * as a Unicode \u002A + * @negative + */ + +1\u002A2; + diff --git a/js/src/tests/test262/ch07/7.7/browser.js b/js/src/tests/test262/ch07/7.7/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/browser.js diff --git a/js/src/tests/test262/ch07/7.7/shell.js b/js/src/tests/test262/ch07/7.7/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.7/shell.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.1/S7.8.1_A1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.1/S7.8.1_A1_T1.js new file mode 100644 index 000000000..e7b188b6c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.1/S7.8.1_A1_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Literal :: NullLiteral + * + * @path ch07/7.8/7.8.1/S7.8.1_A1_T1.js + * @description Check null === null + */ + +//CHECK#1 +if (null !== null) { + $ERROR('#1: null === null'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.1/S7.8.1_A1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.1/S7.8.1_A1_T2.js new file mode 100644 index 000000000..340f8bed4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.1/S7.8.1_A1_T2.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Literal :: NullLiteral + * + * @path ch07/7.8/7.8.1/S7.8.1_A1_T2.js + * @description Check RegExp("0").exec("1") === null + */ + +//CHECK#1 +if (RegExp("0").exec("1") !== null) { + $ERROR('#1: RegExp("0").exec("1") === null'); +} + + diff --git a/js/src/tests/test262/ch07/7.8/7.8.1/browser.js b/js/src/tests/test262/ch07/7.8/7.8.1/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.1/browser.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.1/shell.js b/js/src/tests/test262/ch07/7.8/7.8.1/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.1/shell.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.2/S7.8.2_A1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.2/S7.8.2_A1_T1.js new file mode 100644 index 000000000..f2925a291 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.2/S7.8.2_A1_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Literal :: BooleanLiteral + * + * @path ch07/7.8/7.8.2/S7.8.2_A1_T1.js + * @description BooleanLiteral :: true + */ + +//CHECK#1 +if (Boolean(true) !== true) { + $ERROR('#1: Boolean(true) === true. Actual: Boolean(true) === ' + (Boolean(true))); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.2/S7.8.2_A1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.2/S7.8.2_A1_T2.js new file mode 100644 index 000000000..5adaf379d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.2/S7.8.2_A1_T2.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Literal :: BooleanLiteral + * + * @path ch07/7.8/7.8.2/S7.8.2_A1_T2.js + * @description BooleanLiteral :: false + */ + +//CHECK#1 +if (Boolean(false) !== false) { + $ERROR('#1: Boolean(false) === false. Actual: Boolean(false) === ' + (Boolean(false))); +} + + diff --git a/js/src/tests/test262/ch07/7.8/7.8.2/browser.js b/js/src/tests/test262/ch07/7.8/7.8.2/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.2/browser.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.2/shell.js b/js/src/tests/test262/ch07/7.8/7.8.2/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.2/shell.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-1-s.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-1-s.js new file mode 100644 index 000000000..fa67b5095 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-1-s.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-1-s.js
+ * @description Strict Mode - octal extension (010) is forbidden in strict mode
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ try {
+ eval("var _7_8_3_1 = 010;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError && typeof _7_8_3_1 === "undefined";
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-1gs.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-1gs.js new file mode 100644 index 000000000..91b6ceae2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-1gs.js @@ -0,0 +1,16 @@ +/// 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 ch07/7.8/7.8.3/7.8.3-1gs.js
+ * @description Strict Mode - octal extension(010) is forbidden in strict mode
+ * @onlyStrict
+ * @negative ^((?!NotEarlyError).)*$
+ */
+
+"use strict";
+throw NotEarlyError;
+var y = 010;
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-2-s.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-2-s.js new file mode 100644 index 000000000..79755f8df --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-2-s.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-2-s.js
+ * @description Strict Mode - octal extension (00) is forbidden in strict mode
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ try {
+ eval("var _7_8_3_2 = 00;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError && typeof _7_8_3_2 === "undefined";
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-2gs.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-2gs.js new file mode 100644 index 000000000..dae203a53 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-2gs.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-2gs.js
+ * @description Strict Mode - octal extension is forbidden in strict mode (after a hex number is assigned to a variable)
+ * @onlyStrict
+ * @negative ^((?!NotEarlyError).)*$
+ */
+
+"use strict";
+throw NotEarlyError;
+var a;
+a = 0x1;
+a = 01;
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-3-s.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-3-s.js new file mode 100644 index 000000000..7d33f9a5c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-3-s.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-3-s.js
+ * @description Strict Mode - octal extension (01) is forbidden in strict mode
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ try {
+ eval("var _7_8_3_3 = 01;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError && typeof _7_8_3_3 === "undefined";
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-3gs.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-3gs.js new file mode 100644 index 000000000..48d56d63e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-3gs.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-3gs.js
+ * @description Strict Mode - octal extension is forbidden in strict mode (after a hex number is assigned to a variable from an eval)
+ * @onlyStrict
+ * @negative SyntaxError
+ */
+
+"use strict";
+var a;
+eval("a = 0x1;a = 01;");
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-4-s.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-4-s.js new file mode 100644 index 000000000..53a486b05 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-4-s.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-4-s.js
+ * @description Strict Mode - octal extension (06) is forbidden in strict mode
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ try {
+ eval("var _7_8_3_4 = 06;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError && typeof _7_8_3_4 === "undefined";
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-5-s.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-5-s.js new file mode 100644 index 000000000..98ac43f58 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-5-s.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-5-s.js
+ * @description Strict Mode - octal extension (07) is forbidden in strict mode
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ try {
+ eval("var _7_8_3_5 = 07;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError && typeof _7_8_3_5 === "undefined";
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-6-s.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-6-s.js new file mode 100644 index 000000000..fe2f60c64 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-6-s.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-6-s.js
+ * @description Strict Mode - octal extension (000) is forbidden in strict mode
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ try {
+ eval("var _7_8_3_6 = 000;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError && typeof _7_8_3_6 === "undefined";
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-7-s.js b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-7-s.js new file mode 100644 index 000000000..d0ffda882 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/7.8.3-7-s.js @@ -0,0 +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 ch07/7.8/7.8.3/7.8.3-7-s.js
+ * @description Strict Mode - octal extension (005) is forbidden in strict mode
+ * @onlyStrict
+ */
+
+
+function testcase() {
+ "use strict";
+ try {
+ eval("var _7_8_3_7 = 005;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError && typeof _7_8_3_7 === "undefined";
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js new file mode 100644 index 000000000..ff82f498e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.1_T1.js + * @description DecimalIntegerLiteral :: 0, NoNZeroDigit + */ + +//CHECK#0 +if (0 !== 0) { + $ERROR('#0: 0 === 0'); +} + +//CHECK#1 +if (1 !== 1) { + $ERROR('#1: 1 === 1'); +} + +//CHECK#2 +if (2 !== 2) { + $ERROR('#2: 2 === 2'); +} + +//CHECK#3 +if (3 !== 3) { + $ERROR('#3: 3 === 3'); +} + +//CHECK#4 +if (4 !== 4) { + $ERROR('#4: 4 === 4'); +} + +//CHECK#5 +if (5 !== 5) { + $ERROR('#5: 5 === 5'); +} + +//CHECK#6 +if (6 !== 6) { + $ERROR('#6: 6 === 6'); +} + +//CHECK#7 +if (7 !== 7) { + $ERROR('#7: 7 === 7'); +} + +//CHECK#8 +if (8 !== 8) { + $ERROR('#8: 8 === 8'); +} + +//CHECK#9 +if (9 !== 9) { + $ERROR('#9: 9 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js new file mode 100644 index 000000000..df2206462 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.1_T2.js + * @description DecimalIntegerLiteral :: NoNZeroDigit DecimalDigits + */ + +//CHECK#1 +if (11 !== 11) { + $ERROR('#1: 11 === 11'); +} + +//CHECK#2 +if (22 !== 22) { + $ERROR('#2: 22 === 22'); +} + +//CHECK#3 +if (33 !== 33) { + $ERROR('#3: 33 === 33'); +} + +//CHECK#4 +if (44 !== 44) { + $ERROR('#4: 44 === 44'); +} + +//CHECK#5 +if (55 !== 55) { + $ERROR('#5: 55 === 55'); +} + +//CHECK#6 +if (66 !== 66) { + $ERROR('#6: 66 === 66'); +} + +//CHECK#7 +if (77 !== 77) { + $ERROR('#7: 77 === 77'); +} + +//CHECK#8 +if (88 !== 88) { + $ERROR('#8: 88 === 88'); +} + +//CHECK#9 +if (99 !== 99) { + $ERROR('#9: 99 === 99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js new file mode 100644 index 000000000..50a042d2c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T1.js + * @description ExponentPart :: e DecimalDigits + */ + +//CHECK#0 +if (0e1 !== 0) { + $ERROR('#0: 0e1 === 0'); +} + +//CHECK#1 +if (1e1 !== 10) { + $ERROR('#1: 1e1 === 10'); +} + +//CHECK#2 +if (2e1 !== 20) { + $ERROR('#2: 2e1 === 20'); +} + +//CHECK#3 +if (3e1 !== 30) { + $ERROR('#3: 3e1 === 30'); +} + +//CHECK#4 +if (4e1 !== 40) { + $ERROR('#4: 4e1 === 40'); +} + +//CHECK#5 +if (5e1 !== 50) { + $ERROR('#5: 5e1 === 50'); +} + +//CHECK#6 +if (6e1 !== 60) { + $ERROR('#6: 6e1 === 60'); +} + +//CHECK#7 +if (7e1 !== 70) { + $ERROR('#7: 7e1 === 70'); +} + +//CHECK#8 +if (8e1 !== 80) { + $ERROR('#8: 8e1 === 80'); +} + +//CHECK#9 +if (9e1 !== 90) { + $ERROR('#9: 9e1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js new file mode 100644 index 000000000..f2398a460 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T2.js + * @description ExponentPart :: E DecimalDigits + */ + +//CHECK#0 +if (0E1 !== 0) { + $ERROR('#0: 0E1 === 0'); +} + +//CHECK#1 +if (1E1 !== 10) { + $ERROR('#1: 1E1 === 1'); +} + +//CHECK#2 +if (2E1 !== 20) { + $ERROR('#2: 2E1 === 20'); +} + +//CHECK#3 +if (3E1 !== 30) { + $ERROR('#3: 3E1 === 30'); +} + +//CHECK#4 +if (4E1 !== 40) { + $ERROR('#4: 4E1 === 40'); +} + +//CHECK#5 +if (5E1 !== 50) { + $ERROR('#5: 5E1 === 50'); +} + +//CHECK#6 +if (6E1 !== 60) { + $ERROR('#6: 6E1 === 60'); +} + +//CHECK#7 +if (7E1 !== 70) { + $ERROR('#7: 7E1 === 70'); +} + +//CHECK#8 +if (8E1 !== 80) { + $ERROR('#8: 8E1 === 80'); +} + +//CHECK#9 +if (9E1 !== 90) { + $ERROR('#9: 9E1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js new file mode 100644 index 000000000..352745f8a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T3.js + * @description ExponentPart :: e -DecimalDigits + */ + +//CHECK#0 +if (0e-1 !== 0) { + $ERROR('#0: 0e-1 === 0'); +} + +//CHECK#1 +if (1e-1 !== 0.1) { + $ERROR('#1: 1e-1 === 0.1'); +} + +//CHECK#2 +if (2e-1 !== 0.2) { + $ERROR('#2: 2e-1 === 0.2'); +} + +//CHECK#3 +if (3e-1 !== 0.3) { + $ERROR('#3: 3e-1 === 0.3'); +} + +//CHECK#4 +if (4e-1 !== 0.4) { + $ERROR('#4: 4e-1 === 0.4'); +} + +//CHECK#5 +if (5e-1 !== 0.5) { + $ERROR('#5: 5e-1 === 0.5'); +} + +//CHECK#6 +if (6e-1 !== 0.6) { + $ERROR('#6: 6e-1 === 0.6'); +} + +//CHECK#7 +if (7e-1 !== 0.7) { + $ERROR('#7: 7e-1 === 0.7'); +} + +//CHECK#8 +if (8e-1 !== 0.8) { + $ERROR('#8: 8e-1 === 0.8'); +} + +//CHECK#9 +if (9e-1 !== 0.9) { + $ERROR('#9: 9e-1 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js new file mode 100644 index 000000000..b0f95210f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T4.js + * @description ExponentPart :: E -DecimalDigits + */ + +//CHECK#0 +if (0E-1 !== 0) { + $ERROR('#0: 0E-1 === 0'); +} + +//CHECK#1 +if (1E-1 !== 0.1) { + $ERROR('#1: 1E-1 === 0.1'); +} + +//CHECK#2 +if (2E-1 !== 0.2) { + $ERROR('#2: 2E-1 === 0.2'); +} + +//CHECK#3 +if (3E-1 !== 0.3) { + $ERROR('#3: 3E-1 === 0.3'); +} + +//CHECK#4 +if (4E-1 !== 0.4) { + $ERROR('#4: 4E-1 === 0.4'); +} + +//CHECK#5 +if (5E-1 !== 0.5) { + $ERROR('#5: 5E-1 === 0.5'); +} + +//CHECK#6 +if (6E-1 !== 0.6) { + $ERROR('#6: 6E-1 === 0.6'); +} + +//CHECK#7 +if (7E-1 !== 0.7) { + $ERROR('#7: 7E-1 === 0.7'); +} + +//CHECK#8 +if (8E-1 !== 0.8) { + $ERROR('#8: 8E-1 === 0.8'); +} + +//CHECK#9 +if (9E-1 !== 0.9) { + $ERROR('#9: 9E-1 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js new file mode 100644 index 000000000..87c79f63d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T5.js + * @description ExponentPart :: e +DecimalDigits + */ + +//CHECK#0 +if (0e+1 !== 0) { + $ERROR('#0: 0e+1 === 0'); +} + +//CHe+CK#1 +if (1e+1 !== 10) { + $ERROR('#1: 1e+1 === 10'); +} + +//CHe+CK#2 +if (2e+1 !== 20) { + $ERROR('#2: 2e+1 === 20'); +} + +//CHe+CK#3 +if (3e+1 !== 30) { + $ERROR('#3: 3e+1 === 30'); +} + +//CHe+CK#4 +if (4e+1 !== 40) { + $ERROR('#4: 4e+1 === 40'); +} + +//CHe+CK#5 +if (5e+1 !== 50) { + $ERROR('#5: 5e+1 === 50'); +} + +//CHe+CK#6 +if (6e+1 !== 60) { + $ERROR('#6: 6e+1 === 60'); +} + +//CHe+CK#7 +if (7e+1 !== 70) { + $ERROR('#7: 7e+1 === 70'); +} + +//CHe+CK#8 +if (8e+1 !== 80) { + $ERROR('#8: 8e+1 === 80'); +} + +//CHe+CK#9 +if (9e+1 !== 90) { + $ERROR('#9: 9e+1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js new file mode 100644 index 000000000..bdfc65d33 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T6.js + * @description ExponentPart :: E +DecimalDigits + */ + +//CHECK#0 +if (0E+1 !== 0) { + $ERROR('#0: 0E+1 === 0'); +} + +//CHE+CK#1 +if (1E+1 !== 10) { + $ERROR('#1: 1E+1 === 10'); +} + +//CHE+CK#2 +if (2E+1 !== 20) { + $ERROR('#2: 2E+1 === 20'); +} + +//CHE+CK#3 +if (3E+1 !== 30) { + $ERROR('#3: 3E+1 === 30'); +} + +//CHE+CK#4 +if (4E+1 !== 40) { + $ERROR('#4: 4E+1 === 40'); +} + +//CHE+CK#5 +if (5E+1 !== 50) { + $ERROR('#5: 5E+1 === 50'); +} + +//CHE+CK#6 +if (6E+1 !== 60) { + $ERROR('#6: 6E+1 === 60'); +} + +//CHE+CK#7 +if (7E+1 !== 70) { + $ERROR('#7: 7E+1 === 70'); +} + +//CHE+CK#8 +if (8E+1 !== 80) { + $ERROR('#8: 8E+1 === 80'); +} + +//CHE+CK#9 +if (9E+1 !== 90) { + $ERROR('#9: 9E+1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js new file mode 100644 index 000000000..d636e7e6b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T7.js + * @description ExponentPart :: e 0 + */ + +//CHECK#0 +if (0e0 !== 0) { + $ERROR('#0: 0e0 === 0'); +} + +//CHECK#1 +if (1e0 !== 1) { + $ERROR('#1: 1e0 === 1'); +} + +//CHECK#2 +if (2e0 !== 2) { + $ERROR('#2: 2e0 === 2'); +} + +//CHECK#3 +if (3e0 !== 3) { + $ERROR('#3: 3e0 === 3'); +} + +//CHECK#4 +if (4e0 !== 4) { + $ERROR('#4: 4e0 === 4'); +} + +//CHECK#5 +if (5e0 !== 5) { + $ERROR('#5: 5e0 === 5'); +} + +//CHECK#6 +if (6e0 !== 6) { + $ERROR('#6: 6e0 === 6'); +} + +//CHECK#7 +if (7e0 !== 7) { + $ERROR('#7: 7e0 === 7'); +} + +//CHECK#8 +if (8e0 !== 8) { + $ERROR('#8: 8e0 === 8'); +} + +//CHECK#9 +if (9e0 !== 9) { + $ERROR('#9: 9e0 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js new file mode 100644 index 000000000..c45e4353d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A1.2_T8.js + * @description ExponentPart :: E 0 + */ + +//CHECK#0 +if (0E0 !== 0) { + $ERROR('#0: 0E0 === 0'); +} + +//CHECK#1 +if (1E0 !== 1) { + $ERROR('#1: 1E0 === 1'); +} + +//CHECK#2 +if (2E0 !== 2) { + $ERROR('#2: 2E0 === 2'); +} + +//CHECK#3 +if (3E0 !== 3) { + $ERROR('#3: 3E0 === 3'); +} + +//CHECK#4 +if (4E0 !== 4) { + $ERROR('#4: 4E0 === 4'); +} + +//CHECK#5 +if (5E0 !== 5) { + $ERROR('#5: 5E0 === 5'); +} + +//CHECK#6 +if (6E0 !== 6) { + $ERROR('#6: 6E0 === 6'); +} + +//CHECK#7 +if (7E0 !== 7) { + $ERROR('#7: 7E0 === 7'); +} + +//CHECK#8 +if (8E0 !== 8) { + $ERROR('#8: 8E0 === 8'); +} + +//CHECK#9 +if (9E0 !== 9) { + $ERROR('#9: 9E0 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js new file mode 100644 index 000000000..571cfe65e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.1_T1.js + * @description Use .DecimalDigit + */ + +//CHECK#0 +if (.0 !== 0.0) { + $ERROR('#0: .0 === 0.0'); +} + +//CHECK#1 +if (.1 !== 0.1) { + $ERROR('#1: .1 === 0.1'); +} + +//CHECK#2 +if (.2 !== 0.2) { + $ERROR('#2: .2 === 0.2'); +} + +//CHECK#3 +if (.3 !== 0.3) { + $ERROR('#3: .3 === 0.3'); +} + +//CHECK#4 +if (.4 !== 0.4) { + $ERROR('#4: .4 === 0.4'); +} + +//CHECK#5 +if (.5 !== 0.5) { + $ERROR('#5: .5 === 0.5'); +} + +//CHECK#6 +if (.6 !== 0.6) { + $ERROR('#6: .6 === 0.6'); +} + +//CHECK#7 +if (.7 !== 0.7) { + $ERROR('#7: .7 === 0.7'); +} + +//CHECK#8 +if (.8 !== 0.8) { + $ERROR('#8: .8 === 0.8'); +} + +//CHECK#9 +if (.9 !== 0.9) { + $ERROR('#9: .9 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js new file mode 100644 index 000000000..88ed6fc02 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.1_T2.js + * @description Use .DecimalDigits + */ + +//CHECK#0 +if (.00 !== 0.00) { + $ERROR('#0: .00 === 0.00'); +} + +//CHECK#1 +if (.11 !== 0.11) { + $ERROR('#1: .11 === 0.11'); +} + +//CHECK#2 +if (.22 !== 0.22) { + $ERROR('#2: .22 === 0.22'); +} + +//CHECK#3 +if (.33 !== 0.33) { + $ERROR('#3: .33 === 0.33'); +} + +//CHECK#4 +if (.44 !== 0.44) { + $ERROR('#4: .44 === 0.44'); +} + +//CHECK#5 +if (.55 !== 0.55) { + $ERROR('#5: .55 === 0.55'); +} + +//CHECK#6 +if (.66 !== 0.66) { + $ERROR('#6: .66 === 0.66'); +} + +//CHECK#7 +if (.77 !== 0.77) { + $ERROR('#7: .77 === 0.77'); +} + +//CHECK#8 +if (.88 !== 0.88) { + $ERROR('#8: .88 === 0.88'); +} + +//CHECK#9 +if (.99 !== 0.99) { + $ERROR('#9: .99 === 0.99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js new file mode 100644 index 000000000..2b5d47bd1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.1_T3.js + * @description Use .DecimalDigits that have at the end zeros + */ + +//CHECK#0 +if (.00 !== 0.0) { + $ERROR('#0: .0 === 0.0'); +} + +//CHECK#1 +if (.10 !== 0.1) { + $ERROR('#1: .1 === 0.1'); +} + +//CHECK#2 +if (.20 !== 0.2) { + $ERROR('#2: .2 === 0.2'); +} + +//CHECK#3 +if (.30 !== 0.3) { + $ERROR('#3: .3 === 0.3'); +} + +//CHECK#4 +if (.40 !== 0.4) { + $ERROR('#4: .4 === 0.4'); +} + +//CHECK#5 +if (.50 !== 0.5) { + $ERROR('#5: .5 === 0.5'); +} + +//CHECK#6 +if (.60 !== 0.6) { + $ERROR('#6: .6 === 0.6'); +} + +//CHECK#7 +if (.70 !== 0.7) { + $ERROR('#7: .7 === 0.7'); +} + +//CHECK#8 +if (.80 !== 0.8) { + $ERROR('#8: .8 === 0.8'); +} + +//CHECK#9 +if (.90 !== 0.9) { + $ERROR('#9: .9 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js new file mode 100644 index 000000000..bd80eb9d7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T1.js + * @description ExponentPart :: e DecimalDigits + */ + +//CHECK#0 +if (.0e1 !== 0) { + $ERROR('#0: .0e1 === 0'); +} + +//CHECK#1 +if (.1e1 !== 1) { + $ERROR('#1: .1e1 === 1'); +} + +//CHECK#2 +if (.2e1 !== 2) { + $ERROR('#2: .2e1 === 2'); +} + +//CHECK#3 +if (.3e1 !== 3) { + $ERROR('#3: .3e1 === 3'); +} + +//CHECK#4 +if (.4e1 !== 4) { + $ERROR('#4: .4e1 === 4'); +} + +//CHECK#5 +if (.5e1 !== 5) { + $ERROR('#5: .5e1 === 5'); +} + +//CHECK#6 +if (.6e1 !== 6) { + $ERROR('#6: .6e1 === 6'); +} + +//CHECK#7 +if (.7e1 !== 7) { + $ERROR('#7: .7e1 === 7'); +} + +//CHECK#8 +if (.8e1 !== 8) { + $ERROR('#8: .8e1 === 8'); +} + +//CHECK#9 +if (.9e1 !== 9) { + $ERROR('#9: .9e1 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js new file mode 100644 index 000000000..0e6db7925 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T2.js + * @description ExponentPart :: E DecimalDigits + */ + +//CHECK#0 +if (.0E1 !== 0) { + $ERROR('#0: .0E1 === 0'); +} + +//CHECK#1 +if (.1E1 !== 1) { + $ERROR('#1: .1E1 === 1'); +} + +//CHECK#2 +if (.2E1 !== 2) { + $ERROR('#2: .2E1 === 2'); +} + +//CHECK#3 +if (.3E1 !== 3) { + $ERROR('#3: .3E1 === 3'); +} + +//CHECK#4 +if (.4E1 !== 4) { + $ERROR('#4: .4E1 === 4'); +} + +//CHECK#5 +if (.5E1 !== 5) { + $ERROR('#5: .5E1 === 5'); +} + +//CHECK#6 +if (.6E1 !== 6) { + $ERROR('#6: .6E1 === 6'); +} + +//CHECK#7 +if (.7E1 !== 7) { + $ERROR('#7: .7E1 === 7'); +} + +//CHECK#8 +if (.8E1 !== 8) { + $ERROR('#8: .8E1 === 8'); +} + +//CHECK#9 +if (.9E1 !== 9) { + $ERROR('#9: .9E1 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js new file mode 100644 index 000000000..513868760 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T3.js + * @description ExponentPart :: e +DecimalDigits + */ + +//CHECK#0 +if (.0e-1 !== 0) { + $ERROR('#0: .0e-1 === 0'); +} + +//CHECK#1 +if (.1e-1 !== 0.01) { + $ERROR('#1: .1e-1 === 0.01'); +} + +//CHECK#2 +if (.2e-1 !== 0.02) { + $ERROR('#2: .2e-1 === 0.02'); +} + +//CHECK#3 +if (.3e-1 !== 0.03) { + $ERROR('#3: .3e-1 === 0.03'); +} + +//CHECK#4 +if (.4e-1 !== 0.04) { + $ERROR('#4: .4e-1 === 0.04'); +} + +//CHECK#5 +if (.5e-1 !== 0.05) { + $ERROR('#5: .5e-1 === 0.05'); +} + +//CHECK#6 +if (.6e-1 !== 0.06) { + $ERROR('#6: .6e-1 === 0.06'); +} + +//CHECK#7 +if (.7e-1 !== 0.07) { + $ERROR('#7: .7e-1 === 0.07'); +} + +//CHECK#8 +if (.8e-1 !== 0.08) { + $ERROR('#8: .8e-1 === 0.08'); +} + +//CHECK#9 +if (.9e-1 !== 0.09) { + $ERROR('#9: .9e-1 === 0.09'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js new file mode 100644 index 000000000..88ddf9858 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T4.js + * @description ExponentPart :: E +DecimalDigits + */ + +//CHECK#0 +if (.0E-1 !== 0) { + $ERROR('#0: .0E-1 === 0'); +} + +//CHECK#1 +if (.1E-1 !== 0.01) { + $ERROR('#1: .1E-1 === 0.01'); +} + +//CHECK#2 +if (.2E-1 !== 0.02) { + $ERROR('#2: .2E-1 === 0.02'); +} + +//CHECK#3 +if (.3E-1 !== 0.03) { + $ERROR('#3: .3E-1 === 0.03'); +} + +//CHECK#4 +if (.4E-1 !== 0.04) { + $ERROR('#4: .4E-1 === 0.04'); +} + +//CHECK#5 +if (.5E-1 !== 0.05) { + $ERROR('#5: .5E-1 === 0.05'); +} + +//CHECK#6 +if (.6E-1 !== 0.06) { + $ERROR('#6: .6E-1 === 0.06'); +} + +//CHECK#7 +if (.7E-1 !== 0.07) { + $ERROR('#7: .7E-1 === 0.07'); +} + +//CHECK#8 +if (.8E-1 !== 0.08) { + $ERROR('#8: .8E-1 === 0.08'); +} + +//CHECK#9 +if (.9E-1 !== 0.09) { + $ERROR('#9: .9E-1 === 0.09'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js new file mode 100644 index 000000000..881511a10 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T5.js + * @description ExponentPart :: e +DecimalDigits + */ + +//CHECK#0 +if (.0e+1 !== 0) { + $ERROR('#0: .0e+1 === 0'); +} + +//CHECK#1 +if (.1e+1 !== 1) { + $ERROR('#1: .1e+1 === 1'); +} + +//CHECK#2 +if (.2e+1 !== 2) { + $ERROR('#2: .2e+1 === 2'); +} + +//CHECK#3 +if (.3e+1 !== 3) { + $ERROR('#3: .3e+1 === 3'); +} + +//CHECK#4 +if (.4e+1 !== 4) { + $ERROR('#4: .4e+1 === 4'); +} + +//CHECK#5 +if (.5e+1 !== 5) { + $ERROR('#5: .5e+1 === 5'); +} + +//CHECK#6 +if (.6e+1 !== 6) { + $ERROR('#6: .6e+1 === 6'); +} + +//CHECK#7 +if (.7e+1 !== 7) { + $ERROR('#7: .7e+1 === 7'); +} + +//CHECK#8 +if (.8e+1 !== 8) { + $ERROR('#8: .8e+1 === 8'); +} + +//CHECK#9 +if (.9e+1 !== 9) { + $ERROR('#9: .9e+1 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js new file mode 100644 index 000000000..8b206eee7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T6.js + * @description ExponentPart :: E +DecimalDigits + */ + +//CHECK#0 +if (.0E+1 !== 0) { + $ERROR('#0: .0E+1 === 0'); +} + +//CHECK#1 +if (.1E+1 !== 1) { + $ERROR('#1: .1E+1 === 1'); +} + +//CHECK#2 +if (.2E+1 !== 2) { + $ERROR('#2: .2E+1 === 2'); +} + +//CHECK#3 +if (.3E+1 !== 3) { + $ERROR('#3: .3E+1 === 3'); +} + +//CHECK#4 +if (.4E+1 !== 4) { + $ERROR('#4: .4E+1 === 4'); +} + +//CHECK#5 +if (.5E+1 !== 5) { + $ERROR('#5: .5E+1 === 5'); +} + +//CHECK#6 +if (.6E+1 !== 6) { + $ERROR('#6: .6E+1 === 6'); +} + +//CHECK#7 +if (.7E+1 !== 7) { + $ERROR('#7: .7E+1 === 7'); +} + +//CHECK#8 +if (.8E+1 !== 8) { + $ERROR('#8: .8E+1 === 8'); +} + +//CHECK#9 +if (.9E+1 !== 9) { + $ERROR('#9: .9E+1 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js new file mode 100644 index 000000000..a3701e00c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T7.js + * @description ExponentPart :: e 0 + */ + +//CHECK#0 +if (.0e0 !== 0.0) { + $ERROR('#0: .0e0 === 0.0'); +} + +//CHECK#1 +if (.1e0 !== 0.1) { + $ERROR('#1: .1e0 === 0.1'); +} + +//CHECK#2 +if (.2e0 !== 0.2) { + $ERROR('#2: .2e0 === 0.2'); +} + +//CHECK#3 +if (.3e0 !== 0.3) { + $ERROR('#3: .3e0 === 0.3'); +} + +//CHECK#4 +if (.4e0 !== 0.4) { + $ERROR('#4: .4e0 === 0.4'); +} + +//CHECK#5 +if (.5e0 !== 0.5) { + $ERROR('#5: .5e0 === 0.5'); +} + +//CHECK#6 +if (.6e0 !== 0.6) { + $ERROR('#6: .6e0 === 0.6'); +} + +//CHECK#7 +if (.7e0 !== 0.7) { + $ERROR('#7: .7e0 === 0.7'); +} + +//CHECK#8 +if (.8e0 !== 0.8) { + $ERROR('#8: .8e0 === 0.8'); +} + +//CHECK#9 +if (.9e0 !== 0.9) { + $ERROR('#9: .9e0 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js new file mode 100644 index 000000000..d8bca29e1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: .DecimalDigits ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A2.2_T8.js + * @description ExponentPart :: E 0 + */ + +//CHECK#0 +if (.0E0 !== 0.0) { + $ERROR('#0: .0E0 === 0.0'); +} + +//CHECK#1 +if (.1E0 !== 0.1) { + $ERROR('#1: .1E0 === 0.1'); +} + +//CHECK#2 +if (.2E0 !== 0.2) { + $ERROR('#2: .2E0 === 0.2'); +} + +//CHECK#3 +if (.3E0 !== 0.3) { + $ERROR('#3: .3E0 === 0.3'); +} + +//CHECK#4 +if (.4E0 !== 0.4) { + $ERROR('#4: .4E0 === 0.4'); +} + +//CHECK#5 +if (.5E0 !== 0.5) { + $ERROR('#5: .5E0 === 0.5'); +} + +//CHECK#6 +if (.6E0 !== 0.6) { + $ERROR('#6: .6E0 === 0.6'); +} + +//CHECK#7 +if (.7E0 !== 0.7) { + $ERROR('#7: .7E0 === 0.7'); +} + +//CHECK#8 +if (.8E0 !== 0.8) { + $ERROR('#8: .8E0 === 0.8'); +} + +//CHECK#9 +if (.9E0 !== 0.9) { + $ERROR('#9: .9E0 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js new file mode 100644 index 000000000..0e34b120b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.1_T1.js + * @description DecimalIntegerLiteral :: 0, NoNZeroDigit + */ + +//CHECK#0 +if (0. !== 0) { + $ERROR('#0: 0. === 0'); +} + +//CHECK#1 +if (1. !== 1) { + $ERROR('#1: 1. === 1'); +} + +//CHECK#2 +if (2. !== 2) { + $ERROR('#2: 2. === 2'); +} + +//CHECK#3 +if (3. !== 3) { + $ERROR('#3: 3. === 3'); +} + +//CHECK#4 +if (4. !== 4) { + $ERROR('#4: 4. === 4'); +} + +//CHECK#5 +if (5. !== 5) { + $ERROR('#5: 5. === 5'); +} + +//CHECK#6 +if (6. !== 6) { + $ERROR('#6: 6. === 6'); +} + +//CHECK#7 +if (7. !== 7) { + $ERROR('#7: 7. === 7'); +} + +//CHECK#8 +if (8. !== 8) { + $ERROR('#8: 8. === 8'); +} + +//CHECK#9 +if (9. !== 9) { + $ERROR('#9: 9. === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js new file mode 100644 index 000000000..6dcdd78e3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.1_T2.js + * @description DecimalIntegerLiteral :: NoNZeroDigit DecimalDigigts + */ + +//CHECK#1 +if (11. !== 11) { + $ERROR('#1: 11. === 11'); +} + +//CHECK#2 +if (22. !== 22) { + $ERROR('#2: 22. === 22'); +} + +//CHECK#3 +if (33. !== 33) { + $ERROR('#3: 33. === 33'); +} + +//CHECK#4 +if (44. !== 44) { + $ERROR('#4: 44. === 44'); +} + +//CHECK#5 +if (55. !== 55) { + $ERROR('#5: 55. === 55'); +} + +//CHECK#6 +if (66. !== 66) { + $ERROR('#6: 66. === 66'); +} + +//CHECK#7 +if (77. !== 77) { + $ERROR('#7: 77. === 77'); +} + +//CHECK#8 +if (88. !== 88) { + $ERROR('#8: 88. === 88'); +} + +//CHECK#9 +if (99. !== 99) { + $ERROR('#9: 99. === 99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js new file mode 100644 index 000000000..5c0a5ffa7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.2_T1.js + * @description After DecimalIntegerLiteral. used ZeroDigit + */ + +//CHECK#0 +if (0.0 !== 0) { + $ERROR('#0: 0.0 === 0'); +} + +//CHECK#1 +if (1.0 !== 1) { + $ERROR('#1: 1.0 === 1'); +} + +//CHECK#2 +if (2.0 !== 2) { + $ERROR('#2: 2.0 === 2'); +} + +//CHECK#3 +if (3.0 !== 3) { + $ERROR('#3: 3.0 === 3'); +} + +//CHECK#4 +if (4.0 !== 4) { + $ERROR('#4: 4.0 === 4'); +} + +//CHECK#5 +if (5.0 !== 5) { + $ERROR('#5: 5.0 === 5'); +} + +//CHECK#6 +if (6.0 !== 6) { + $ERROR('#6: 6.0 === 6'); +} + +//CHECK#7 +if (7.0 !== 7) { + $ERROR('#7: 7.0 === 7'); +} + +//CHECK#8 +if (8.0 !== 8) { + $ERROR('#8: 8.0 === 8'); +} + +//CHECK#9 +if (9.0 !== 9) { + $ERROR('#9: 9.0 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js new file mode 100644 index 000000000..110c931e5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.2_T2.js + * @description After DecimalIntegerLiteral. used ZeroDigits + */ + +//CHECK#0 +if (0.00 !== 0) { + $ERROR('#0: 0.00 === 0'); +} + +//CHECK#1 +if (1.00 !== 1) { + $ERROR('#1: 1.00 === 1'); +} + +//CHECK#2 +if (2.00 !== 2) { + $ERROR('#2: 2.00 === 2'); +} + +//CHECK#3 +if (3.00 !== 3) { + $ERROR('#3: 3.00 === 3'); +} + +//CHECK#4 +if (4.00 !== 4) { + $ERROR('#4: 4.00 === 4'); +} + +//CHECK#5 +if (5.00 !== 5) { + $ERROR('#5: 5.00 === 5'); +} + +//CHECK#6 +if (6.00 !== 6) { + $ERROR('#6: 6.00 === 6'); +} + +//CHECK#7 +if (7.00 !== 7) { + $ERROR('#7: 7.00 === 7'); +} + +//CHECK#8 +if (8.00 !== 8) { + $ERROR('#8: 8.00 === 8'); +} + +//CHECK#9 +if (9.00 !== 9) { + $ERROR('#9: 9.00 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js new file mode 100644 index 000000000..fe293b95b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigits + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.2_T3.js + * @description After DecimalIntegerLiteral. used NoNZeroDigit + */ + +//CHECK#0 +if (0.0 !== 0.0) { + $ERROR('#0: 0.0 === 0.0'); +} + +//CHECK#1 +if (1.1 !== 1.1) { + $ERROR('#1: 1.1 === 1.1'); +} + +//CHECK#2 +if (2.2 !== 2.2) { + $ERROR('#2: 2.2 === 2.2'); +} + +//CHECK#3 +if (3.3 !== 3.3) { + $ERROR('#3: 3.3 === 3.3'); +} + +//CHECK#4 +if (4.4 !== 4.4) { + $ERROR('#4: 4.4 === 4.4'); +} + +//CHECK#5 +if (5.5 !== 5.5) { + $ERROR('#5: 5.5 === 5.5'); +} + +//CHECK#6 +if (6.6 !== 6.6) { + $ERROR('#6: 6.6 === 6.6'); +} + +//CHECK#7 +if (7.7 !== 7.7) { + $ERROR('#7: 7.7 === 7.7'); +} + +//CHECK#8 +if (8.8 !== 8.8) { + $ERROR('#8: 8..8 === 8.8'); +} + +//CHECK#9 +if (9.9 !== 9.9) { + $ERROR('#9: 9.9 === 9.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js new file mode 100644 index 000000000..e0a6edba5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T1.js + * @description ExponentPart :: e DecimalDigits + */ + +//CHECK#0 +if (0.e1 !== 0) { + $ERROR('#0: 0.e1 === 0'); +} + +//CHECK#1 +if (1.e1 !== 10) { + $ERROR('#1: 1.e1 === 10'); +} + +//CHECK#2 +if (2.e1 !== 20) { + $ERROR('#2: 2.e1 === 20'); +} + +//CHECK#3 +if (3.e1 !== 30) { + $ERROR('#3: 3.e1 === 30'); +} + +//CHECK#4 +if (4.e1 !== 40) { + $ERROR('#4: 4.e1 === 40'); +} + +//CHECK#5 +if (5.e1 !== 50) { + $ERROR('#5: 5.e1 === 50'); +} + +//CHECK#6 +if (6.e1 !== 60) { + $ERROR('#6: 6.e1 === 60'); +} + +//CHECK#7 +if (7.e1 !== 70) { + $ERROR('#7: 7.e1 === 70'); +} + +//CHECK#8 +if (8.e1 !== 80) { + $ERROR('#8: 8.e1 === 80'); +} + +//CHECK#9 +if (9.e1 !== 90) { + $ERROR('#9: 9.e1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js new file mode 100644 index 000000000..034d2c548 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T2.js + * @description ExponentPart :: E DecimalDigits + */ + +//CHECK#0 +if (0.E1 !== 0) { + $ERROR('#0: 0.E1 === 0'); +} + +//CHECK#1 +if (1.E1 !== 10) { + $ERROR('#1: 1.E1 === 10'); +} + +//CHECK#2 +if (2.E1 !== 20) { + $ERROR('#2: 2.E1 === 20'); +} + +//CHECK#3 +if (3.E1 !== 30) { + $ERROR('#3: 3.E1 === 30'); +} + +//CHECK#4 +if (4.E1 !== 40) { + $ERROR('#4: 4.E1 === 40'); +} + +//CHECK#5 +if (5.E1 !== 50) { + $ERROR('#5: 5.E1 === 50'); +} + +//CHECK#6 +if (6.E1 !== 60) { + $ERROR('#6: 6.E1 === 60'); +} + +//CHECK#7 +if (7.E1 !== 70) { + $ERROR('#7: 7.E1 === 70'); +} + +//CHECK#8 +if (8.E1 !== 80) { + $ERROR('#8: 8.E1 === 80'); +} + +//CHECK#9 +if (9.E1 !== 90) { + $ERROR('#9: 9.E1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js new file mode 100644 index 000000000..a60c83d58 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T3.js + * @description ExponentPart :: e -DecimalDigits + */ + +//CHECK#0 +if (0.e-1 !== 0) { + $ERROR('#0: 0.e-1 === 0'); +} + +//CHECK#1 +if (1.e-1 !== 0.1) { + $ERROR('#1: 1.e-1 === 0.1'); +} + +//CHECK#2 +if (2.e-1 !== 0.2) { + $ERROR('#2: 2.e-1 === 0.2'); +} + +//CHECK#3 +if (3.e-1 !== 0.3) { + $ERROR('#3: 3.e-1 === 0.3'); +} + +//CHECK#4 +if (4.e-1 !== 0.4) { + $ERROR('#4: 4.e-1 === 0.4'); +} + +//CHECK#5 +if (5.e-1 !== 0.5) { + $ERROR('#5: 5.e-1 === 0.5'); +} + +//CHECK#6 +if (6.e-1 !== 0.6) { + $ERROR('#6: 6.e-1 === 0.6'); +} + +//CHECK#7 +if (7.e-1 !== 0.7) { + $ERROR('#7: 7.e-1 === 0.7'); +} + +//CHECK#8 +if (8.e-1 !== 0.8) { + $ERROR('#8: 8.e-1 === 0.8'); +} + +//CHECK#9 +if (9.e-1 !== 0.9) { + $ERROR('#9: 9.e-1 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js new file mode 100644 index 000000000..9dc5be7a2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T4.js + * @description ExponentPart :: E -DecimalDigits + */ + +//CHECK#0 +if (0.E-1 !== 0) { + $ERROR('#0: 0.E-1 === 0'); +} + +//CHECK#1 +if (1.E-1 !== 0.1) { + $ERROR('#1: 1.E-1 === 0.1'); +} + +//CHECK#2 +if (2.E-1 !== 0.2) { + $ERROR('#2: 2.E-1 === 0.2'); +} + +//CHECK#3 +if (3.E-1 !== 0.3) { + $ERROR('#3: 3.E-1 === 0.3'); +} + +//CHECK#4 +if (4.E-1 !== 0.4) { + $ERROR('#4: 4.E-1 === 0.4'); +} + +//CHECK#5 +if (5.E-1 !== 0.5) { + $ERROR('#5: 5.E-1 === 0.5'); +} + +//CHECK#6 +if (6.E-1 !== 0.6) { + $ERROR('#6: 6.E-1 === 0.6'); +} + +//CHECK#7 +if (7.E-1 !== 0.7) { + $ERROR('#7: 7.E-1 === 0.7'); +} + +//CHECK#8 +if (8.E-1 !== 0.8) { + $ERROR('#8: 8.E-1 === 0.8'); +} + +//CHECK#9 +if (9.E-1 !== 0.9) { + $ERROR('#9: 9.E-1 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js new file mode 100644 index 000000000..9b2e9b820 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T5.js + * @description ExponentPart :: e +DecimalDigits + */ + +//CHECK#0 +if (0.e+1 !== 0) { + $ERROR('#0: 0.e+1 === 0'); +} + +//CHECK#1 +if (1.e+1 !== 10) { + $ERROR('#1: 1.e+1 === 10'); +} + +//CHECK#2 +if (2.e+1 !== 20) { + $ERROR('#2: 2.e+1 === 20'); +} + +//CHECK#3 +if (3.e+1 !== 30) { + $ERROR('#3: 3.e+1 === 30'); +} + +//CHECK#4 +if (4.e+1 !== 40) { + $ERROR('#4: 4.e+1 === 40'); +} + +//CHECK#5 +if (5.e+1 !== 50) { + $ERROR('#5: 5.e+1 === 50'); +} + +//CHECK#6 +if (6.e+1 !== 60) { + $ERROR('#6: 6.e+1 === 60'); +} + +//CHECK#7 +if (7.e+1 !== 70) { + $ERROR('#7: 7.e+1 === 70'); +} + +//CHECK#8 +if (8.e+1 !== 80) { + $ERROR('#8: 8.e+1 === 80'); +} + +//CHECK#9 +if (9.e+1 !== 90) { + $ERROR('#9: 9.e+1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js new file mode 100644 index 000000000..33c8a84c9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T6.js + * @description ExponentPart :: E +DecimalDigits + */ + +//CHECK#0 +if (0.E+1 !== 0) { + $ERROR('#0: 0.E+1 === 0'); +} + +//CHECK#1 +if (1.E+1 !== 10) { + $ERROR('#1: 1.E+1 === 10'); +} + +//CHECK#2 +if (2.E+1 !== 20) { + $ERROR('#2: 2.E+1 === 20'); +} + +//CHECK#3 +if (3.E+1 !== 30) { + $ERROR('#3: 3.E+1 === 30'); +} + +//CHECK#4 +if (4.E+1 !== 40) { + $ERROR('#4: 4.E+1 === 40'); +} + +//CHECK#5 +if (5.E+1 !== 50) { + $ERROR('#5: 5.E+1 === 50'); +} + +//CHECK#6 +if (6.E+1 !== 60) { + $ERROR('#6: 6.E+1 === 60'); +} + +//CHECK#7 +if (7.E+1 !== 70) { + $ERROR('#7: 7.E+1 === 70'); +} + +//CHECK#8 +if (8.E+1 !== 80) { + $ERROR('#8: 8.E+1 === 80'); +} + +//CHECK#9 +if (9.E+1 !== 90) { + $ERROR('#9: 9.E+1 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js new file mode 100644 index 000000000..628581d66 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T7.js + * @description ExponentPart :: e 0 + */ + +//CHECK#0 +if (0.e0 !== 0) { + $ERROR('#0: 0.e0 === 0'); +} + +//CHECK#1 +if (1.e0 !== 1) { + $ERROR('#1: 1.e0 === 1'); +} + +//CHECK#2 +if (2.e0 !== 2) { + $ERROR('#2: 2.e0 === 2'); +} + +//CHECK#3 +if (3.e0 !== 3) { + $ERROR('#3: 3.e0 === 3'); +} + +//CHECK#4 +if (4.e0 !== 4) { + $ERROR('#4: 4.e0 === 4'); +} + +//CHECK#5 +if (5.e0 !== 5) { + $ERROR('#5: 5.e0 === 5'); +} + +//CHECK#6 +if (6.e0 !== 6) { + $ERROR('#6: 6.e0 === 6'); +} + +//CHECK#7 +if (7.e0 !== 7) { + $ERROR('#7: 7.e0 === 7'); +} + +//CHECK#8 +if (8.e0 !== 8) { + $ERROR('#8: 8.e0 === 8'); +} + +//CHECK#9 +if (9.e0 !== 9) { + $ERROR('#9: 9.e0 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js new file mode 100644 index 000000000..b6f249124 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.3_T8.js + * @description ExponentPart :: E 0 + */ + +//CHECK#0 +if (0.E0 !== 0) { + $ERROR('#0: 0.E0 === 0'); +} + +//CHECK#1 +if (1.E0 !== 1) { + $ERROR('#1: 1.E0 === 1'); +} + +//CHECK#2 +if (2.E0 !== 2) { + $ERROR('#2: 2.E0 === 2'); +} + +//CHECK#3 +if (3.E0 !== 3) { + $ERROR('#3: 3.E0 === 3'); +} + +//CHECK#4 +if (4.E0 !== 4) { + $ERROR('#4: 4.E0 === 4'); +} + +//CHECK#5 +if (5.E0 !== 5) { + $ERROR('#5: 5.E0 === 5'); +} + +//CHECK#6 +if (6.E0 !== 6) { + $ERROR('#6: 6.E0 === 6'); +} + +//CHECK#7 +if (7.E0 !== 7) { + $ERROR('#7: 7.E0 === 7'); +} + +//CHECK#8 +if (8.E0 !== 8) { + $ERROR('#8: 8.E0 === 8'); +} + +//CHECK#9 +if (9.E0 !== 9) { + $ERROR('#9: 9.E0 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js new file mode 100644 index 000000000..15ad5b224 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T1.js + * @description ExponentPart :: e DecimalDigits + */ + +//CHECK#0 +if (0.0e1 !== 0) { + $ERROR('#0: 0.0e1 === 0'); +} + +//CHECK#1 +if (1.1e1 !== 11) { + $ERROR('#1: 1.1e1 === 11'); +} + +//CHECK#2 +if (2.2e1 !== 22) { + $ERROR('#2: 2.2e1 === 22'); +} + +//CHECK#3 +if (3.3e1 !== 33) { + $ERROR('#3: 3.3e1 === 33'); +} + +//CHECK#4 +if (4.4e1 !== 44) { + $ERROR('#4: 4.4e1 === 44'); +} + +//CHECK#5 +if (5.5e1 !== 55) { + $ERROR('#5: 5.5e1 === 55'); +} + +//CHECK#6 +if (6.6e1 !== 66) { + $ERROR('#6: 6.e1 === 66'); +} + +//CHECK#7 +if (7.7e1 !== 77) { + $ERROR('#7: 7.7e1 === 77'); +} + +//CHECK#8 +if (8.8e1 !== 88) { + $ERROR('#8: 8.8e1 === 88'); +} + +//CHECK#9 +if (9.9e1 !== 99) { + $ERROR('#9: 9.9e1 === 99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js new file mode 100644 index 000000000..a3a67a30e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T2.js + * @description ExponentPart :: E DecimalDigits + */ + +//CHECK#0 +if (0.0E1 !== 0) { + $ERROR('#0: 0.0E1 === 0'); +} + +//CHECK#1 +if (1.1E1 !== 11) { + $ERROR('#1: 1.1E1 === 11'); +} + +//CHECK#2 +if (2.2E1 !== 22) { + $ERROR('#2: 2.2E1 === 22'); +} + +//CHECK#3 +if (3.3E1 !== 33) { + $ERROR('#3: 3.3E1 === 33'); +} + +//CHECK#4 +if (4.4E1 !== 44) { + $ERROR('#4: 4.4E1 === 44'); +} + +//CHECK#5 +if (5.5E1 !== 55) { + $ERROR('#5: 5.5E1 === 55'); +} + +//CHECK#6 +if (6.6E1 !== 66) { + $ERROR('#6: 6.E1 === 66'); +} + +//CHECK#7 +if (7.7E1 !== 77) { + $ERROR('#7: 7.7E1 === 77'); +} + +//CHECK#8 +if (8.8E1 !== 88) { + $ERROR('#8: 8.8E1 === 88'); +} + +//CHECK#9 +if (9.9E1 !== 99) { + $ERROR('#9: 9.9E1 === 99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js new file mode 100644 index 000000000..fef945e47 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T3.js + * @description ExponentPart :: e -DecimalDigits + */ + +//CHECK#0 +if (0.0e-1 !== 0) { + $ERROR('#0: 0.0e-1 === 0'); +} + +//CHECK#1 +if (1.1e-1 !== 0.11) { + $ERROR('#1: 1.1e-1 === 0.11'); +} + +//CHECK#2 +if (2.2e-1 !== 0.22) { + $ERROR('#2: 2.2e-1 === 0.22'); +} + +//CHECK#3 +if (3.3e-1 !== 0.33) { + $ERROR('#3: 3.3e-1 === 0.33'); +} + +//CHECK#4 +if (4.4e-1 !== 0.44) { + $ERROR('#4: 4.4e-1 === 0.44'); +} + +//CHECK#5 +if (5.5e-1 !== 0.55) { + $ERROR('#5: 5.5e-1 === 0.55'); +} + +//CHECK#6 +if (6.6e-1 !== 0.66) { + $ERROR('#6: 6.e-1 === 0.66'); +} + +//CHECK#7 +if (7.7e-1 !== 0.77) { + $ERROR('#7: 7.7e-1 === 0.77'); +} + +//CHECK#8 +if (8.8e-1 !== 0.88) { + $ERROR('#8: 8.8e-1 === 0.88'); +} + +//CHECK#9 +if (9.9e-1 !== 0.99) { + $ERROR('#9: 9.9e-1 === 0.99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js new file mode 100644 index 000000000..f68532fd8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T4.js + * @description ExponentPart :: E -DecimalDigits + */ + +//CHECK#0 +if (0.0E-1 !== 0) { + $ERROR('#0: 0.0E-1 === 0'); +} + +//CHECK#1 +if (1.1E-1 !== 0.11) { + $ERROR('#1: 1.1E-1 === 0.11'); +} + +//CHECK#2 +if (2.2E-1 !== 0.22) { + $ERROR('#2: 2.2E-1 === 0.22'); +} + +//CHECK#3 +if (3.3E-1 !== 0.33) { + $ERROR('#3: 3.3E-1 === 0.33'); +} + +//CHECK#4 +if (4.4E-1 !== 0.44) { + $ERROR('#4: 4.4E-1 === 0.44'); +} + +//CHECK#5 +if (5.5E-1 !== 0.55) { + $ERROR('#5: 5.5E-1 === 0.55'); +} + +//CHECK#6 +if (6.6E-1 !== 0.66) { + $ERROR('#6: 6.E-1 === 0.66'); +} + +//CHECK#7 +if (7.7E-1 !== 0.77) { + $ERROR('#7: 7.7E-1 === 0.77'); +} + +//CHECK#8 +if (8.8E-1 !== 0.88) { + $ERROR('#8: 8.8E-1 === 0.88'); +} + +//CHECK#9 +if (9.9E-1 !== 0.99) { + $ERROR('#9: 9.9E-1 === 0.99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js new file mode 100644 index 000000000..161105928 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T5.js + * @description ExponentPart :: e +DecimalDigits + */ + +//CHECK#0 +if (0.0e+1 !== 0) { + $ERROR('#0: 0.0e+1 === 0'); +} + +//CHECK#1 +if (1.1e+1 !== 11) { + $ERROR('#1: 1.1e+1 === 11'); +} + +//CHECK#2 +if (2.2e+1 !== 22) { + $ERROR('#2: 2.2e+1 === 22'); +} + +//CHECK#3 +if (3.3e+1 !== 33) { + $ERROR('#3: 3.3e+1 === 33'); +} + +//CHECK#4 +if (4.4e+1 !== 44) { + $ERROR('#4: 4.4e+1 === 44'); +} + +//CHECK#5 +if (5.5e+1 !== 55) { + $ERROR('#5: 5.5e+1 === 55'); +} + +//CHECK#6 +if (6.6e+1 !== 66) { + $ERROR('#6: 6.e+1 === 66'); +} + +//CHECK#7 +if (7.7e+1 !== 77) { + $ERROR('#7: 7.7e+1 === 77'); +} + +//CHECK#8 +if (8.8e+1 !== 88) { + $ERROR('#8: 8.8e+1 === 88'); +} + +//CHECK#9 +if (9.9e+1 !== 99) { + $ERROR('#9: 9.9e+1 === 99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js new file mode 100644 index 000000000..5d28f6609 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T6.js + * @description ExponentPart :: E +DecimalDigits + */ + +//CHECK#0 +if (0.0E+1 !== 0) { + $ERROR('#0: 0.0E+1 === 0'); +} + +//CHECK#1 +if (1.1E+1 !== 11) { + $ERROR('#1: 1.1E+1 === 11'); +} + +//CHECK#2 +if (2.2E+1 !== 22) { + $ERROR('#2: 2.2E+1 === 22'); +} + +//CHECK#3 +if (3.3E+1 !== 33) { + $ERROR('#3: 3.3E+1 === 33'); +} + +//CHECK#4 +if (4.4E+1 !== 44) { + $ERROR('#4: 4.4E+1 === 44'); +} + +//CHECK#5 +if (5.5E+1 !== 55) { + $ERROR('#5: 5.5E+1 === 55'); +} + +//CHECK#6 +if (6.6E+1 !== 66) { + $ERROR('#6: 6.E+1 === 66'); +} + +//CHECK#7 +if (7.7E+1 !== 77) { + $ERROR('#7: 7.7E+1 === 77'); +} + +//CHECK#8 +if (8.8E+1 !== 88) { + $ERROR('#8: 8.8E+1 === 88'); +} + +//CHECK#9 +if (9.9E+1 !== 99) { + $ERROR('#9: 9.9E+1 === 99'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js new file mode 100644 index 000000000..b5ebe39d4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T7.js + * @description ExponentPart :: e 0 + */ + +//CHECK#0 +if (0.0e0 !== 0.0) { + $ERROR('#0: 0.0e0 === 0.0'); +} + +//CHECK#1 +if (1.1e0 !== 1.1) { + $ERROR('#1: 1.1e0 === 1.1'); +} + +//CHECK#2 +if (2.2e0 !== 2.2) { + $ERROR('#2: 2.2e0 === 2.2'); +} + +//CHECK#3 +if (3.3e0 !== 3.3) { + $ERROR('#3: 3.3e0 === 3.3'); +} + +//CHECK#4 +if (4.4e0 !== 4.4) { + $ERROR('#4: 4.4e0 === 4.4'); +} + +//CHECK#5 +if (5.5e0 !== 5.5) { + $ERROR('#5: 5.5e0 === 5.5'); +} + +//CHECK#6 +if (6.6e0 !== 6.6) { + $ERROR('#6: 6.e0 === 6.6'); +} + +//CHECK#7 +if (7.7e0 !== 7.7) { + $ERROR('#7: 7.7e0 === 7.7'); +} + +//CHECK#8 +if (8.8e0 !== 8.8) { + $ERROR('#8: 8.8e0 === 8.8'); +} + +//CHECK#9 +if (9.9e0 !== 9.9) { + $ERROR('#9: 9.9e0 === 9.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js new file mode 100644 index 000000000..36b643364 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: DecimalIntegerLiteral. DecimalDigigts ExponentPart + * + * @path ch07/7.8/7.8.3/S7.8.3_A3.4_T8.js + * @description ExponentPart :: E 0 + */ + +//CHECK#0 +if (0.0E0 !== 0.0) { + $ERROR('#0: 0.0E0 === 0.0'); +} + +//CHECK#1 +if (1.1E0 !== 1.1) { + $ERROR('#1: 1.1E0 === 1.1'); +} + +//CHECK#2 +if (2.2E0 !== 2.2) { + $ERROR('#2: 2.2E0 === 2.2'); +} + +//CHECK#3 +if (3.3E0 !== 3.3) { + $ERROR('#3: 3.3E0 === 3.3'); +} + +//CHECK#4 +if (4.4E0 !== 4.4) { + $ERROR('#4: 4.4E0 === 4.4'); +} + +//CHECK#5 +if (5.5E0 !== 5.5) { + $ERROR('#5: 5.5E0 === 5.5'); +} + +//CHECK#6 +if (6.6E0 !== 6.6) { + $ERROR('#6: 6.E0 === 6.6'); +} + +//CHECK#7 +if (7.7E0 !== 7.7) { + $ERROR('#7: 7.7E0 === 7.7'); +} + +//CHECK#8 +if (8.8E0 !== 8.8) { + $ERROR('#8: 8.8E0 === 8.8'); +} + +//CHECK#9 +if (9.9E0 !== 9.9) { + $ERROR('#9: 9.9E0 === 9.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js new file mode 100644 index 000000000..eaed76725 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T1.js + * @description ExponentPart :: e DecimalDigits + * @negative + */ + +//CHECK#1 +e1 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js new file mode 100644 index 000000000..306ed8ba2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T2.js + * @description ExponentPart :: E DecimalDigits + * @negative + */ + +//CHECK#1 +E1 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js new file mode 100644 index 000000000..b7c5e5a9f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T3.js + * @description ExponentPart :: e DecimalDigits + * @negative + */ + +//CHECK#1 +e-1 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js new file mode 100644 index 000000000..fb21413d4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T4.js + * @description ExponentPart :: E DecimalDigits + * @negative + */ + +//CHECK#1 +E-1 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js new file mode 100644 index 000000000..89719f0f7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T5.js + * @description ExponentPart :: e DecimalDigits + * @negative + */ + +//CHECK#1 +e+1 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js new file mode 100644 index 000000000..533e23bc4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T6.js + * @description ExponentPart :: E DecimalDigits + * @negative + */ + +//CHECK#1 +E+1 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js new file mode 100644 index 000000000..d6475e50f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T7.js + * @description ExponentPart :: e 0 + * @negative + */ + +//CHECK#1 +e0 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js new file mode 100644 index 000000000..89e284f4f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: ExponentPart is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.1_T8.js + * @description ExponentPart :: E 0 + * @negative + */ + +//CHECK#1 +E0 + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js new file mode 100644 index 000000000..a925aaed9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T1.js + * @description ExponentIndicator :: e + */ + +//CHECK#0 +if (0e01 !== 0) { + $ERROR('#0: 0e01 === 0'); +} + +//CHECK#1 +if (1e01 !== 10) { + $ERROR('#1: 1e01 === 10'); +} + +//CHECK#2 +if (2e01 !== 20) { + $ERROR('#2: 2e01 === 20'); +} + +//CHECK#3 +if (3e01 !== 30) { + $ERROR('#3: 3e01 === 30'); +} + +//CHECK#4 +if (4e01 !== 40) { + $ERROR('#4: 4e01 === 40'); +} + +//CHECK#5 +if (5e01 !== 50) { + $ERROR('#5: 5e01 === 50'); +} + +//CHECK#6 +if (6e01 !== 60) { + $ERROR('#6: 6e01 === 60'); +} + +//CHECK#7 +if (7e01 !== 70) { + $ERROR('#7: 7e01 === 70'); +} + +//CHECK#8 +if (8e01 !== 80) { + $ERROR('#8: 8e01 === 80'); +} + +//CHECK#9 +if (9e01 !== 90) { + $ERROR('#9: 9e01 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js new file mode 100644 index 000000000..bfc6f4eee --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T2.js + * @description ExponentIndicator :: E + */ + +//CHECK#0 +if (0E01 !== 0) { + $ERROR('#0: 0E01 === 0'); +} + +//CHECK#1 +if (1E01 !== 10) { + $ERROR('#1: 1E01 === 10'); +} + +//CHECK#2 +if (2E01 !== 20) { + $ERROR('#2: 2E01 === 20'); +} + +//CHECK#3 +if (3E01 !== 30) { + $ERROR('#3: 3E01 === 30'); +} + +//CHECK#4 +if (4E01 !== 40) { + $ERROR('#4: 4E01 === 40'); +} + +//CHECK#5 +if (5E01 !== 50) { + $ERROR('#5: 5E01 === 50'); +} + +//CHECK#6 +if (6E01 !== 60) { + $ERROR('#6: 6E01 === 60'); +} + +//CHECK#7 +if (7E01 !== 70) { + $ERROR('#7: 7E01 === 70'); +} + +//CHECK#8 +if (8E01 !== 80) { + $ERROR('#8: 8E01 === 80'); +} + +//CHECK#9 +if (9E01 !== 90) { + $ERROR('#9: 9E01 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js new file mode 100644 index 000000000..15f7bf7bd --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T3.js + * @description ExponentIndicator :: e + */ + +//CHECK#0 +if (0e-01 !== 0) { + $ERROR('#0: 0e-01 === 0'); +} + +//CHECK#1 +if (1e-01 !== 0.1) { + $ERROR('#1: 1e-01 === 0.1'); +} + +//CHECK#2 +if (2e-01 !== 0.2) { + $ERROR('#2: 2e-01 === 0.2'); +} + +//CHECK#3 +if (3e-01 !== 0.3) { + $ERROR('#3: 3e-01 === 0.3'); +} + +//CHECK#4 +if (4e-01 !== 0.4) { + $ERROR('#4: 4e-01 === 0.4'); +} + +//CHECK#5 +if (5e-01 !== 0.5) { + $ERROR('#5: 5e-01 === 0.5'); +} + +//CHECK#6 +if (6e-01 !== 0.6) { + $ERROR('#6: 6e-01 === 0.6'); +} + +//CHECK#7 +if (7e-01 !== 0.7) { + $ERROR('#7: 7e-01 === 0.7'); +} + +//CHECK#8 +if (8e-01 !== 0.8) { + $ERROR('#8: 8e-01 === 0.8'); +} + +//CHECK#9 +if (9e-01 !== 0.9) { + $ERROR('#9: 9e-01 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js new file mode 100644 index 000000000..2682b8f0e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T4.js + * @description ExponentIndicator :: E + */ + +//CHECK#0 +if (0E-01 !== 0) { + $ERROR('#0: 0E-01 === 0'); +} + +//CHECK#1 +if (1E-01 !== 0.1) { + $ERROR('#1: 1E-01 === 0.1'); +} + +//CHECK#2 +if (2E-01 !== 0.2) { + $ERROR('#2: 2E-01 === 0.2'); +} + +//CHECK#3 +if (3E-01 !== 0.3) { + $ERROR('#3: 3E-01 === 0.3'); +} + +//CHECK#4 +if (4E-01 !== 0.4) { + $ERROR('#4: 4E-01 === 0.4'); +} + +//CHECK#5 +if (5E-01 !== 0.5) { + $ERROR('#5: 5E-01 === 0.5'); +} + +//CHECK#6 +if (6E-01 !== 0.6) { + $ERROR('#6: 6E-01 === 0.6'); +} + +//CHECK#7 +if (7E-01 !== 0.7) { + $ERROR('#7: 7E-01 === 0.7'); +} + +//CHECK#8 +if (8E-01 !== 0.8) { + $ERROR('#8: 8E-01 === 0.8'); +} + +//CHECK#9 +if (9E-01 !== 0.9) { + $ERROR('#9: 9E-01 === 0.9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js new file mode 100644 index 000000000..386daa930 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T5.js + * @description ExponentIndicator :: e + */ + +//CHECK#0 +if (0e+01 !== 0) { + $ERROR('#0: 0e+01 === 0'); +} + +//CHECK#1 +if (1e+01 !== 10) { + $ERROR('#1: 1e+01 === 10'); +} + +//CHECK#2 +if (2e+01 !== 20) { + $ERROR('#2: 2e+01 === 20'); +} + +//CHECK#3 +if (3e+01 !== 30) { + $ERROR('#3: 3e+01 === 30'); +} + +//CHECK#4 +if (4e+01 !== 40) { + $ERROR('#4: 4e+01 === 40'); +} + +//CHECK#5 +if (5e+01 !== 50) { + $ERROR('#5: 5e+01 === 50'); +} + +//CHECK#6 +if (6e+01 !== 60) { + $ERROR('#6: 6e+01 === 60'); +} + +//CHECK#7 +if (7e+01 !== 70) { + $ERROR('#7: 7e+01 === 70'); +} + +//CHECK#8 +if (8e+01 !== 80) { + $ERROR('#8: 8e+01 === 80'); +} + +//CHECK#9 +if (9e+01 !== 90) { + $ERROR('#9: 9e+01 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js new file mode 100644 index 000000000..df360f5ea --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T6.js + * @description ExponentIndicator :: E + */ + +//CHECK#0 +if (0E+01 !== 0) { + $ERROR('#0: 0E+01 === 0'); +} + +//CHECK#1 +if (1E+01 !== 10) { + $ERROR('#1: 1E+01 === 10'); +} + +//CHECK#2 +if (2E+01 !== 20) { + $ERROR('#2: 2E+01 === 20'); +} + +//CHECK#3 +if (3E+01 !== 30) { + $ERROR('#3: 3E+01 === 30'); +} + +//CHECK#4 +if (4E+01 !== 40) { + $ERROR('#4: 4E+01 === 40'); +} + +//CHECK#5 +if (5E+01 !== 50) { + $ERROR('#5: 5E+01 === 50'); +} + +//CHECK#6 +if (6E+01 !== 60) { + $ERROR('#6: 6E+01 === 60'); +} + +//CHECK#7 +if (7E+01 !== 70) { + $ERROR('#7: 7E+01 === 70'); +} + +//CHECK#8 +if (8E+01 !== 80) { + $ERROR('#8: 8E+01 === 80'); +} + +//CHECK#9 +if (9E+01 !== 90) { + $ERROR('#9: 9E+01 === 90'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js new file mode 100644 index 000000000..9fbd8a679 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T7.js + * @description ExponentIndicator :: e + */ + +//CHECK#0 +if (0e00 !== 0) { + $ERROR('#0: 0e00 === 0'); +} + +//CHECK#1 +if (1e00 !== 1) { + $ERROR('#1: 1e00 === 1'); +} + +//CHECK#2 +if (2e00 !== 2) { + $ERROR('#2: 2e00 === 2'); +} + +//CHECK#3 +if (3e00 !== 3) { + $ERROR('#3: 3e00 === 3'); +} + +//CHECK#4 +if (4e00 !== 4) { + $ERROR('#4: 4e00 === 4'); +} + +//CHECK#5 +if (5e00 !== 5) { + $ERROR('#5: 5e00 === 5'); +} + +//CHECK#6 +if (6e00 !== 6) { + $ERROR('#6: 6e00 === 6'); +} + +//CHECK#7 +if (7e00 !== 7) { + $ERROR('#7: 7e00 === 7'); +} + +//CHECK#8 +if (8e00 !== 8) { + $ERROR('#8: 8e00 === 8'); +} + +//CHECK#9 +if (9e00 !== 9) { + $ERROR('#9: 9e00 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js new file mode 100644 index 000000000..2c62351fa --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * ExponentPart :: ExponentIndicator ( /+/-) 0 DecimalDigits is allowed + * + * @path ch07/7.8/7.8.3/S7.8.3_A4.2_T8.js + * @description ExponentIndicator :: E + */ + +//CHECK#0 +if (0E00 !== 0) { + $ERROR('#0: 0E00 === 0'); +} + +//CHECK#1 +if (1E00 !== 1) { + $ERROR('#1: 1E00 === 1'); +} + +//CHECK#2 +if (2E00 !== 2) { + $ERROR('#2: 2E00 === 2'); +} + +//CHECK#3 +if (3E00 !== 3) { + $ERROR('#3: 3E00 === 3'); +} + +//CHECK#4 +if (4E00 !== 4) { + $ERROR('#4: 4E00 === 4'); +} + +//CHECK#5 +if (5E00 !== 5) { + $ERROR('#5: 5E00 === 5'); +} + +//CHECK#6 +if (6E00 !== 6) { + $ERROR('#6: 6E00 === 6'); +} + +//CHECK#7 +if (7E00 !== 7) { + $ERROR('#7: 7E00 === 7'); +} + +//CHECK#8 +if (8E00 !== 8) { + $ERROR('#8: 8E00 === 8'); +} + +//CHECK#9 +if (9E00 !== 9) { + $ERROR('#9: 9E00 === 9'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js new file mode 100644 index 000000000..2e6b786b4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js @@ -0,0 +1,90 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T1.js + * @description HexIntegerLiteral :: 0x Digit + */ + +//CHECK#0 +if (0x0 !== 0) { + $ERROR('#0: 0x0 === 0'); +} + +//CHECK#1 +if (0x1 !== 1) { + $ERROR('#1: 0x1 === 1'); +} + +//CHECK#2 +if (0x2 !== 2) { + $ERROR('#2: 0x2 === 2'); +} + +//CHECK#3 +if (0x3 !== 3) { + $ERROR('#3: 0x3 === 3'); +} + +//CHECK#4 +if (0x4 !== 4) { + $ERROR('#4: 0x4 === 4'); +} + +//CHECK#5 +if (0x5 !== 5) { + $ERROR('#5: 0x5 === 5'); +} + +//CHECK#6 +if (0x6 !== 6) { + $ERROR('#6: 0x6 === 6'); +} + +//CHECK#7 +if (0x7 !== 7) { + $ERROR('#7: 0x7 === 7'); +} + +//CHECK#8 +if (0x8 !== 8) { + $ERROR('#8: 0x8 === 8'); +} + +//CHECK#9 +if (0x9 !== 9) { + $ERROR('#9: 0x9 === 9'); +} + +//CHECK#A +if (0xA !== 10) { + $ERROR('#A: 0xA === 10'); +} + +//CHECK#B +if (0xB !== 11) { + $ERROR('#B: 0xB === 11'); +} + +//CHECK#C +if (0xC !== 12) { + $ERROR('#C: 0xC === 12'); +} + +//CHECK#D +if (0xD !== 13) { + $ERROR('#D: 0xD === 13'); +} + +//CHECK#E +if (0xE !== 14) { + $ERROR('#E: 0xE === 14'); +} + +//CHECK#F +if (0xF !== 15) { + $ERROR('#F: 0xF === 15'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js new file mode 100644 index 000000000..ca55655e2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js @@ -0,0 +1,90 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T2.js + * @description HexIntegerLiteral :: 0X Digit + */ + +//CHECK#0 +if (0X0 !== 0) { + $ERROR('#0: 0X0 === 0'); +} + +//CHECK#1 +if (0X1 !== 1) { + $ERROR('#1: 0X1 === 1'); +} + +//CHECK#2 +if (0X2 !== 2) { + $ERROR('#2: 0X2 === 2'); +} + +//CHECK#3 +if (0X3 !== 3) { + $ERROR('#3: 0X3 === 3'); +} + +//CHECK#4 +if (0X4 !== 4) { + $ERROR('#4: 0X4 === 4'); +} + +//CHECK#5 +if (0X5 !== 5) { + $ERROR('#5: 0X5 === 5'); +} + +//CHECK#6 +if (0X6 !== 6) { + $ERROR('#6: 0X6 === 6'); +} + +//CHECK#7 +if (0X7 !== 7) { + $ERROR('#7: 0X7 === 7'); +} + +//CHECK#8 +if (0X8 !== 8) { + $ERROR('#8: 0X8 === 8'); +} + +//CHECK#9 +if (0X9 !== 9) { + $ERROR('#9: 0X9 === 9'); +} + +//CHECK#A +if (0XA !== 10) { + $ERROR('#A: 0XA === 10'); +} + +//CHECK#B +if (0XB !== 11) { + $ERROR('#B: 0XB === 11'); +} + +//CHECK#C +if (0XC !== 12) { + $ERROR('#C: 0XC === 12'); +} + +//CHECK#D +if (0XD !== 13) { + $ERROR('#D: 0XD === 13'); +} + +//CHECK#E +if (0XE !== 14) { + $ERROR('#E: 0XE === 14'); +} + +//CHECK#F +if (0XF !== 15) { + $ERROR('#F: 0XF === 15'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js new file mode 100644 index 000000000..089a84112 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T3.js + * @description HexIntegerLiteral :: 0x NonZeroDigit Digits + */ + +//CHECK#0 +if (0x0 !== 0) { + $ERROR('#0: 0x0 === 0'); +} + +//CHECK#1 +if (0x1 !== 1) { + $ERROR('#1: 0x1 === 1'); +} + +//CHECK#2 +if (0x10 !== 16) { + $ERROR('#2: 0x10 === 16'); +} + +//CHECK3 +if (0x100 !== 256) { + $ERROR('3: 0x100 === 256'); +} + +//CHECK#4 +if (0x1000 !== 4096) { + $ERROR('#4: 0x1000 === 4096'); +} + +//CHECK#5 +if (0x10000 !== 65536) { + $ERROR('#5: 0x10000 === 65536'); +} + +//CHECK#6 +if (0x100000 !== 1048576) { + $ERROR('#6: 0x100000 === 1048576'); +} + +//CHECK#7 +if (0x1000000 !== 16777216) { + $ERROR('#7: 0x1000000 === 16777216'); +} + +//CHECK#8 +if (0x10000000 !== 268435456) { + $ERROR('#8: 0x10000000 === 268435456'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js new file mode 100644 index 000000000..5ddc484a8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T4.js + * @description HexIntegerLiteral :: 0X NonZeroDigit Digits + */ + +//CHECK#0 +if (0X0 !== 0) { + $ERROR('#0: 0X0 === 0'); +} + +//CHECK#1 +if (0X1 !== 1) { + $ERROR('#1: 0X1 === 1'); +} + +//CHECK#2 +if (0X10 !== 16) { + $ERROR('#2: 0X10 === 16'); +} + +//CHECK3 +if (0X100 !== 256) { + $ERROR('3: 0X100 === 256'); +} + +//CHECK#4 +if (0X1000 !== 4096) { + $ERROR('#4: 0X1000 === 4096'); +} + +//CHECK#5 +if (0X10000 !== 65536) { + $ERROR('#5: 0X10000 === 65536'); +} + +//CHECK#6 +if (0X100000 !== 1048576) { + $ERROR('#6: 0X100000 === 1048576'); +} + +//CHECK#7 +if (0X1000000 !== 16777216) { + $ERROR('#7: 0X1000000 === 16777216'); +} + +//CHECK#8 +if (0X10000000 !== 268435456) { + $ERROR('#8: 0X10000000 === 268435456'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js new file mode 100644 index 000000000..da8e61ed4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T5.js + * @description HexIntegerLiteral :: 0x0 Digits + */ + +//CHECK#0 +if (0x00 !== 0) { + $ERROR('#0: 0x00 === 0'); +} + +//CHECK#1 +if (0x01 !== 1) { + $ERROR('#1: 0x01 === 1'); +} + +//CHECK#2 +if (0x010 !== 16) { + $ERROR('#2: 0x010 === 16'); +} + +//CHECK3 +if (0x0100 !== 256) { + $ERROR('3: 0x0100 === 256'); +} + +//CHECK#4 +if (0x01000 !== 4096) { + $ERROR('#4: 0x01000 === 4096'); +} + +//CHECK#5 +if (0x010000 !== 65536) { + $ERROR('#5: 0x010000 === 65536'); +} + +//CHECK#6 +if (0x0100000 !== 1048576) { + $ERROR('#6: 0x0100000 === 1048576'); +} + +//CHECK#7 +if (0x01000000 !== 16777216) { + $ERROR('#7: 0x01000000 === 16777216'); +} + +//CHECK#8 +if (0x010000000 !== 268435456) { + $ERROR('#8: 0x010000000 === 268435456'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js new file mode 100644 index 000000000..659c7dfbb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T6.js + * @description HexIntegerLiteral :: 0X0 Digits + */ + +//CHECK#0 +if (0X00 !== 0) { + $ERROR('#0: 0X00 === 0'); +} + +//CHECK#1 +if (0X01 !== 1) { + $ERROR('#1: 0X01 === 1'); +} + +//CHECK#2 +if (0X010 !== 16) { + $ERROR('#2: 0X010 === 16'); +} + +//CHECK3 +if (0X0100 !== 256) { + $ERROR('3: 0X0100 === 256'); +} + +//CHECK#4 +if (0X01000 !== 4096) { + $ERROR('#4: 0X01000 === 4096'); +} + +//CHECK#5 +if (0X010000 !== 65536) { + $ERROR('#5: 0X010000 === 65536'); +} + +//CHECK#6 +if (0X0100000 !== 1048576) { + $ERROR('#6: 0X0100000 === 1048576'); +} + +//CHECK#7 +if (0X01000000 !== 16777216) { + $ERROR('#7: 0X01000000 === 16777216'); +} + +//CHECK#8 +if (0X010000000 !== 268435456) { + $ERROR('#8: 0X010000000 === 268435456'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js new file mode 100644 index 000000000..7bc52989c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T7.js + * @description HexIntegerLiteral :: 0x one of a, b, c, d, e, f + */ + +//CHECK#a +if (0xa !== 10) { + $ERROR('#a: 0xa === 10'); +} + +//CHECK#b +if (0xb !== 11) { + $ERROR('#b: 0xb === 11'); +} + +//CHECK#c +if (0xc !== 12) { + $ERROR('#c: 0xc === 12'); +} + +//CHECK#d +if (0xd !== 13) { + $ERROR('#d: 0xd === 13'); +} + +//CHECK#e +if (0xe !== 14) { + $ERROR('#e: 0xe === 14'); +} + +//CHECK#f +if (0xf !== 15) { + $ERROR('#f: 0xf === 15'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js new file mode 100644 index 000000000..1f95ab586 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * DecimalLiteral :: HexIntegerLiteral + * + * @path ch07/7.8/7.8.3/S7.8.3_A5.1_T8.js + * @description HexIntegerLiteral :: 0X one of a, b, c, d, e, f + */ + +//CHECK#a +if (0Xa !== 10) { + $ERROR('#a: 0Xa === 10'); +} + +//CHECK#b +if (0Xb !== 11) { + $ERROR('#b: 0Xb === 11'); +} + +//CHECK#c +if (0Xc !== 12) { + $ERROR('#c: 0Xc === 12'); +} + +//CHECK#d +if (0Xd !== 13) { + $ERROR('#d: 0Xd === 13'); +} + +//CHECK#e +if (0Xe !== 14) { + $ERROR('#e: 0Xe === 14'); +} + +//CHECK#f +if (0Xf !== 15) { + $ERROR('#f: 0Xf === 15'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js new file mode 100644 index 000000000..3be2b908f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * HexIntegerLiteral :: 0(x/X) is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A6.1_T1.js + * @description Checking if execution of "0x" passes + * @negative + */ + +//CHECK#1 +0x + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js new file mode 100644 index 000000000..8b813b81f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * HexIntegerLiteral :: 0(x/X) is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A6.1_T2.js + * @description Checking if execution of "0X" passes + * @negative + */ + +//CHECK#1 +0X + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js new file mode 100644 index 000000000..accd26589 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * 0xG is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A6.2_T1.js + * @description Checking if execution of "0xG" fails + * @negative + */ + +//CHECK#1 +0xG + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js new file mode 100644 index 000000000..7a14fef29 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * 0xG is incorrect + * + * @path ch07/7.8/7.8.3/S7.8.3_A6.2_T2.js + * @description Checking if execution of "0xg" fails + * @negative + */ + +//CHECK#1 +0xg + diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/browser.js b/js/src/tests/test262/ch07/7.8/7.8.3/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/browser.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.3/shell.js b/js/src/tests/test262/ch07/7.8/7.8.3/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.3/shell.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-1-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-1-s.js new file mode 100644 index 000000000..f5548e4f3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-1-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-1-s.js
+ * @description A directive preceeding an 'use strict' directive may not contain an OctalEscapeSequence
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval(' "asterisk: \\052" /* octal escape sequences forbidden in strict mode*/ ; "use strict";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-10-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-10-s.js new file mode 100644 index 000000000..c7069c0fa --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-10-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-10-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = " \\10 ";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-11-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-11-s.js new file mode 100644 index 000000000..02e5264b9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-11-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-11-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\16";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-12-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-12-s.js new file mode 100644 index 000000000..27211ab83 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-12-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-12-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\17";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-13-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-13-s.js new file mode 100644 index 000000000..a5641d491 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-13-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-13-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\30";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-14-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-14-s.js new file mode 100644 index 000000000..11a3ceaba --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-14-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-14-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\31";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-15-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-15-s.js new file mode 100644 index 000000000..ddf59df33 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-15-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-15-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\37";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-16-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-16-s.js new file mode 100644 index 000000000..add6f1b16 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-16-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-16-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\400";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-17-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-17-s.js new file mode 100644 index 000000000..f132d927c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-17-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-17-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\411";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-18-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-18-s.js new file mode 100644 index 000000000..db679216f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-18-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-18-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\43a";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-19-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-19-s.js new file mode 100644 index 000000000..c1792cfa3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-19-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-19-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\463";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-1gs.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-1gs.js new file mode 100644 index 000000000..4974d0b5f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-1gs.js @@ -0,0 +1,14 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-1gs.js
+ * @description Strict Mode - OctalEscapeSequence(\0110) is forbidden in strict mode
+ * @onlyStrict
+ * @negative ^((?!NotEarlyError).)*$
+ */
+"use strict";
+throw NotEarlyError;
+var _7_8_4_2 = '100abc\0110def';
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-2-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-2-s.js new file mode 100644 index 000000000..5d5e02dc3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-2-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-2-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\1";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-20-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-20-s.js new file mode 100644 index 000000000..170cb4c5a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-20-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-20-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\474";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-21-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-21-s.js new file mode 100644 index 000000000..1dca614fc --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-21-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-21-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\77";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-22-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-22-s.js new file mode 100644 index 000000000..dc7399147 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-22-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-22-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\777";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-23-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-23-s.js new file mode 100644 index 000000000..e8d7c1204 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-23-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-23-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\000";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-24-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-24-s.js new file mode 100644 index 000000000..e0cea8f6e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-24-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-24-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\001";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-25-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-25-s.js new file mode 100644 index 000000000..060d0cd07 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-25-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-25-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\106";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-26-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-26-s.js new file mode 100644 index 000000000..d986b4de9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-26-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-26-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\207";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-27-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-27-s.js new file mode 100644 index 000000000..b208bdb6f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-27-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-27-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\377";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-28-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-28-s.js new file mode 100644 index 000000000..a0967eb8e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-28-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-28-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\376";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-29-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-29-s.js new file mode 100644 index 000000000..60e65af65 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-29-s.js @@ -0,0 +1,26 @@ +/// 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 ch07/7.8/7.8.4/7.8.4-29-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\3760";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+}
+runTestCase(testcase);
\ No newline at end of file diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-3-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-3-s.js new file mode 100644 index 000000000..0885c5c74 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-3-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-3-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "a\\4";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-30-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-30-s.js new file mode 100644 index 000000000..73cbdfedc --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-30-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-30-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\' + '1";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-31-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-31-s.js new file mode 100644 index 000000000..a33c8bbc6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-31-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-31-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\" + "1";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-32-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-32-s.js new file mode 100644 index 000000000..312e870c3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-32-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-32-s.js
+ * @description Two OctalEscapeSequences in a String are not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\1\\1";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-33-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-33-s.js new file mode 100644 index 000000000..639313c92 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-33-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-33-s.js
+ * @description Three OctalEscapeSequences in a String are not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\1\\2\\7";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-4-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-4-s.js new file mode 100644 index 000000000..bd4e93fe6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-4-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-4-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "z\\7";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-5-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-5-s.js new file mode 100644 index 000000000..1108364ab --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-5-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-5-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\00a";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-6-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-6-s.js new file mode 100644 index 000000000..119415796 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-6-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-6-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\01z";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-7-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-7-s.js new file mode 100644 index 000000000..254d2953e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-7-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-7-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "a\\03z";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-8-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-8-s.js new file mode 100644 index 000000000..04e3eac9b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-8-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-8-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = " \\06";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-9-s.js b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-9-s.js new file mode 100644 index 000000000..1efa2e57a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/7.8.4-9-s.js @@ -0,0 +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 ch07/7.8/7.8.4/7.8.4-9-s.js
+ * @description An OctalEscapeSequence is not allowed in a String under Strict Mode
+ * @onlyStrict
+ */
+
+
+function testcase()
+{
+ try
+ {
+ eval('"use strict"; var x = "\\07 ";');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js new file mode 100644 index 000000000..02c823418 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: "DoubleStringCharacters_opt" + * + * @path ch07/7.8/7.8.4/S7.8.4_A1.1_T1.js + * @description DoubleStringCharacter :: SourceCharacter but not double-quote " or LineTerminator + * @negative + */ + +//CHECK#1 +""" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js new file mode 100644 index 000000000..bedbcea86 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: "DoubleStringCharacters_opt" + * + * @path ch07/7.8/7.8.4/S7.8.4_A1.1_T2.js + * @description DoubleStringCharacter :: SourceCharacter but not double-quote " or LineTerminator + * @negative + */ + +//CHECK#1 +" +" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js new file mode 100644 index 000000000..964e5be6c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: 'SingleStringCharacters_opt' + * + * @path ch07/7.8/7.8.4/S7.8.4_A1.2_T1.js + * @description SingleStringCharacter :: SourceCharacter but not single-quote ' or LineTerminator + * @negative + */ + +//CHECK#1 +''' + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js new file mode 100644 index 000000000..82890f5c2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: 'SingleStringCharacters_opt' + * + * @path ch07/7.8/7.8.4/S7.8.4_A1.2_T2.js + * @description SingleStringCharacter :: SourceCharacter but not single-quote ' or LineTerminator + * @negative + */ + +//CHECK#1 +' +' + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js new file mode 100644 index 000000000..9a555b814 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of ENGLISH ALPHABET + * + * @path ch07/7.8/7.8.4/S7.8.4_A2.1_T1.js + * @description Check ENGLISH CAPITAL ALPHABET + */ + +//CHECK#A-Z +var unicode = ["\u0041", "\u0042", "\u0043", "\u0044", "\u0045", "\u0046", "\u0047", "\u0048", "\u0049", "\u004A", "\u004B", "\u004C", "\u004D", "\u004E", "\u004F", "\u0050", "\u0051", "\u0052", "\u0053", "\u0054", "\u0055", "\u0056", "\u0057", "\u0058", "\u0059", "\u005A"]; +var character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; +for (var index = 0; index <= 25; index++) { + if (unicode[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js new file mode 100644 index 000000000..f7e8ccfa3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of ENGLISH ALPHABET + * + * @path ch07/7.8/7.8.4/S7.8.4_A2.1_T2.js + * @description Check ENGLISH SMALL ALPHABET + */ + +//CHECK#a-z +var hex = ["\u0061", "\u0062", "\u0063", "\u0064", "\u0065", "\u0066", "\u0067", "\u0068", "\u0069", "\u006A", "\u006B", "\u006C", "\u006D", "\u006E", "\u006F", "\u0070", "\u0071", "\u0072", "\u0073", "\u0074", "\u0075", "\u0076", "\u0077", "\u0078", "\u0079", "\u007A"]; +var character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; +for (var index = 0; index <= 25; index++) { + if (hex[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js new file mode 100644 index 000000000..cefe28d57 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of RUSSIAN ALPHABET + * + * @path ch07/7.8/7.8.4/S7.8.4_A2.2_T1.js + * @description Check RUSSIAN CAPITAL ALPHABET + */ + +//CHECK#А-Я +var unicode = ["\u0410", "\u0411", "\u0412", "\u0413", "\u0414", "\u0415", "\u0416", "\u0417", "\u0418", "\u0419", "\u041A", "\u041B", "\u041C", "\u041D", "\u041E", "\u041F", "\u0420", "\u0421", "\u0422", "\u0423", "\u0424", "\u0425", "\u0426", "\u0427", "\u0428", "\u0429", "\u042A", "\u042B", "\u042C", "\u042D", "\u042E", "\u042F", "\u0401"]; +var character = ["А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "Ё"]; +for (var index = 0; index <= 32; index++) { + if (unicode[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js new file mode 100644 index 000000000..09fc5877b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of RUSSIAN ALPHABET + * + * @path ch07/7.8/7.8.4/S7.8.4_A2.2_T2.js + * @description Check RUSSIAN SMALL ALPHABET + */ + +//CHECK#а-я +var unicode = ["\u0430", "\u0431", "\u0432", "\u0433", "\u0434", "\u0435", "\u0436", "\u0437", "\u0438", "\u0439", "\u043A", "\u043B", "\u043C", "\u043D", "\u043E", "\u043F", "\u0440", "\u0441", "\u0442", "\u0443", "\u0444", "\u0445", "\u0446", "\u0447", "\u0448", "\u0449", "\u044A", "\u044B", "\u044C", "\u044D", "\u044E", "\u044F", "\u0451"]; +var character = ["а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", "ё"]; +for (var index = 0; index <= 32; index++) { + if (unicode[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js new file mode 100644 index 000000000..30e6133b7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Correct interpretation of DIGITS + * + * @path ch07/7.8/7.8.4/S7.8.4_A2.3_T1.js + * @description Check DIGITS + */ + +//CHECK#0-9 +var unicode = ["\u0030", "\u0031", "\u0032", "\u0033", "\u0034", "\u0035", "\u0036", "\u0037", "\u0038", "\u0039"]; +var character = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; +for (var index = 0; index <= 9; index++) { + if (unicode[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js new file mode 100644 index 000000000..f25e6538d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: "\" or '\' is not correct + * + * @path ch07/7.8/7.8.4/S7.8.4_A3.1_T1.js + * @description Checking if execution of "\" fails + * @negative + */ + +//CHECK#1 +"\" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js new file mode 100644 index 000000000..82cf8717b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: "\" or '\' is not correct + * + * @path ch07/7.8/7.8.4/S7.8.4_A3.1_T2.js + * @description Checking if execution of "'\'" fails + * @negative + */ + +//CHECK#1 +'\' + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js new file mode 100644 index 000000000..54aaf12c6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: "\\\" or '\\\' is not correct + * + * @path ch07/7.8/7.8.4/S7.8.4_A3.2_T1.js + * @description Checking if execution of "\\\" fails + * @negative + */ + +//CHECK#1 +"\\\" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js new file mode 100644 index 000000000..a26421e76 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * StringLiteral :: "\\\" or '\\\' is not correct + * + * @path ch07/7.8/7.8.4/S7.8.4_A3.2_T2.js + * @description Checking if execution of '\\\' fails + * @negative + */ + +//CHECK#1 +'\\\' + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js new file mode 100644 index 000000000..9cac9a2d9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: SingleEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.1_T1.js + * @description SingleEscapeSequence :: one of b f n r t v + */ + +//CHECK#1 +if (String.fromCharCode(0x0008) !== "\b") { + $ERROR('#1: String.fromCharCode(0x0008) === "\\b"'); +} + +//CHECK#2 +if (String.fromCharCode(0x0009) !== "\t") { + $ERROR('#2: String.fromCharCode(0x0009) === "\\t"'); +} + +//CHECK#3 +if (String.fromCharCode(0x000A) !== "\n") { + $ERROR('#3: String.fromCharCode(0x000A) === "\\n"'); +} + +//CHECK#4 +if (String.fromCharCode(0x000B) !== "\v") { + $ERROR('#4: String.fromCharCode(0x000B) === "\\v"'); +} + +//CHECK#5 +if (String.fromCharCode(0x000C) !== "\f") { + $ERROR('#5: String.fromCharCode(0x000C) === "\\f"'); +} + +//CHECK#6 +if (String.fromCharCode(0x000D) !== "\r") { + $ERROR('#6: String.fromCharCode(0x000D) === "\\r"'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js new file mode 100644 index 000000000..c99f669ef --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js @@ -0,0 +1,35 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: SingleEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.1_T2.js + * @description SingleEscapeSequence :: one of ' " \ + */ + +//CHECK#1 +if (String.fromCharCode(0x0027) !== "\'") { + $ERROR('#1: String.fromCharCode(0x0027) === "\\\'"'); +} + +//CHECK#2 +if (String.fromCharCode(0x0022) !== '\"') { + $ERROR('#2: String.fromCharCode(0x0027) === \'\\\"\''); +} + +//CHECK#3 +if (String.fromCharCode(0x005C) !== "\\") { + $ERROR('#3: String.fromCharCode(0x005C) === "\\\"'); +} + +//CHECK#4 +if ("\'" !== "'") { + $ERROR('#4: "\'" === "\\\'"'); +} + +//CHECK#5 +if ('\"' !== '"') { + $ERROR('#5: \'\"\' === \'\\\"\''); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js new file mode 100644 index 000000000..8abfdd031 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T1.js + * @description NonEscapeSequence :: ENGLISH CAPITAL ALPHABET + */ + +//CHECK#A-Z +var CharacterCode = [0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A]; +var NonEscapeCharacter = ["\A", "\B", "\C", "\D", "\E", "\F", "\G", "\H", "\I", "\J", "\K", "\L", "\M", "\N", "\O", "\P", "\Q", "\R", "\S", "\T", "\U", "\V", "\W", "\X", "\Y", "\Z"]; +for (var index = 0; index <= 25; index++) { + if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) { + $ERROR('#' + NonEscapeCharacter[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js new file mode 100644 index 000000000..660d2e62e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js @@ -0,0 +1,115 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T2.js + * @description NonEscapeSequence :: ENGLISH CAPITAL ALPHABET + */ + +//CHECK#A-Z +if ("A" !== "\A") { + $ERROR('#A'); +} + +if ("B" !== "\B") { + $ERROR('#B'); +} + +if ("C" !== "\C") { + $ERROR('#C'); +} + +if ("D" !== "\D") { + $ERROR('#D'); +} + +if ("E" !== "\E") { + $ERROR('#E'); +} + +if ("F" !== "\F") { + $ERROR('#F'); +} + +if ("G" !== "\G") { + $ERROR('#G'); +} + +if ("H" !== "\H") { + $ERROR('#H'); +} + +if ("I" !== "\I") { + $ERROR('#I'); +} + +if ("J" !== "\J") { + $ERROR('#J'); +} + +if ("K" !== "\K") { + $ERROR('#K'); +} + +if ("L" !== "\L") { + $ERROR('#L'); +} + +if ("M" !== "\M") { + $ERROR('#M'); +} + +if ("N" !== "\N") { + $ERROR('#N'); +} + +if ("O" !== "\O") { + $ERROR('#O'); +} + +if ("P" !== "\P") { + $ERROR('#P'); +} + +if ("Q" !== "\Q") { + $ERROR('#Q'); +} + +if ("R" !== "\R") { + $ERROR('#R'); +} + +if ("S" !== "\S") { + $ERROR('#S'); +} + +if ("T" !== "\T") { + $ERROR('#T'); +} + +if ("U" !== "\U") { + $ERROR('#U'); +} + +if ("V" !== "\V") { + $ERROR('#V'); +} + +if ("W" !== "\W") { + $ERROR('#W'); +} + +if ("X" !== "\X") { + $ERROR('#X'); +} + +if ("Y" !== "\Y") { + $ERROR('#Y'); +} + +if ("Z" !== "\Z") { + $ERROR('#Z'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js new file mode 100644 index 000000000..39194063a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T3.js + * @description NonEscapeSequence :: ENGLISH SMALL ALPHABET + */ + +//CHECK#a-z without b, f, n, r, t, v, x, u +var CharacterCode = [0x0061, 0x0063, 0x0064, 0x0065, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006F, 0x0070, 0x0071, 0x0073, 0x0077, 0x0079, 0x007A]; +var NonEscapeCharacter = ["\a", "\c", "\d", "\e", "\g", "\h", "\i", "\j", "\k", "\l", "\m", "\o", "\p", "\q", "\s", "\w", "\y", "\z"]; +for (var index = 0; index <= 17; index++) { + if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) { + $ERROR('#' + NonEscapeCharacter[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js new file mode 100644 index 000000000..19e61c5e1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js @@ -0,0 +1,86 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T4.js + * @description NonEscapeSequence :: ENGLISH SMALL ALPHABET + */ + +//CHECK#a-z without b, f, n, r, t, v, x, u + +if ("a" !== "\a") { + $ERROR('#a'); +} + +if ("c" !== "\c") { + $ERROR('#c'); +} + +if ("d" !== "\d") { + $ERROR('#d'); +} + +if ("e" !== "\e") { + $ERROR('#e'); +} + +if ("g" !== "\g") { + $ERROR('#g'); +} + +if ("h" !== "\h") { + $ERROR('#h'); +} + +if ("i" !== "\i") { + $ERROR('#i'); +} + +if ("j" !== "\j") { + $ERROR('#j'); +} + +if ("k" !== "\k") { + $ERROR('#k'); +} + +if ("l" !== "\l") { + $ERROR('#l'); +} + +if ("m" !== "\m") { + $ERROR('#m'); +} + + +if ("o" !== "\o") { + $ERROR('#o'); +} + +if ("p" !== "\p") { + $ERROR('#p'); +} + +if ("q" !== "\q") { + $ERROR('#q'); +} + +if ("s" !== "\s") { + $ERROR('#s'); +} + +if ("w" !== "\w") { + $ERROR('#w'); +} + +if ("y" !== "\y") { + $ERROR('#y'); +} + +if ("z" !== "\z") { + $ERROR('#z'); +} + + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js new file mode 100644 index 000000000..57c1b8efd --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T5.js + * @description NonEscapeSequence :: RUSSIAN CAPITAL ALPHABET + */ + +//CHECK#А-Я +var CharacterCode = [0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, 0x0401]; +var NonEscapeCharacter = ["\А", "\Б", "\В", "\Г", "\Д", "\Е", "\Ж", "\З", "\И", "\Й", "\К", "\Л", "\М", "\Н", "\О", "\П", "\Р", "\С", "\Т", "\У", "\Ф", "\Х", "\Ц", "\Ч", "\Ш", "\Щ", "\Ъ", "\Ы", "\Ь", "\Э", "\Ю", "\Я", "\Ё"]; +for (var index = 0; index <= 32; index++) { + if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) { + $ERROR('#' + NonEscapeCharacter[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js new file mode 100644 index 000000000..86e7ac2ca --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js @@ -0,0 +1,144 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T6.js + * @description NonEscapeSequence :: RUSSIAN CAPITAL ALPHABET + */ + +//CHECK#А-Я + +if ("А" !== "\А") { + $ERROR('#А'); +} + +if ("Б" !== "\Б") { + $ERROR('#Б'); +} + +if ("В" !== "\В") { + $ERROR('#В'); +} + +if ("Г" !== "\Г") { + $ERROR('#Г'); +} + +if ("Д" !== "\Д") { + $ERROR('#Д'); +} + +if ("Е" !== "\Е") { + $ERROR('#Е'); +} + +if ("Ж" !== "\Ж") { + $ERROR('#Ж'); +} + +if ("З" !== "\З") { + $ERROR('#З'); +} + +if ("И" !== "\И") { + $ERROR('#И'); +} + +if ("Й" !== "\Й") { + $ERROR('#Й'); +} + +if ("К" !== "\К") { + $ERROR('#К'); +} + +if ("Л" !== "\Л") { + $ERROR('#Л'); +} + +if ("М" !== "\М") { + $ERROR('#М'); +} + +if ("Н" !== "\Н") { + $ERROR('#Н'); +} + +if ("О" !== "\О") { + $ERROR('#О'); +} + +if ("П" !== "\П") { + $ERROR('#П'); +} + +if ("Р" !== "\Р") { + $ERROR('#Р'); +} + +if ("С" !== "\С") { + $ERROR('#С'); +} + +if ("Т" !== "\Т") { + $ERROR('#Т'); +} + +if ("У" !== "\У") { + $ERROR('#У'); +} + +if ("Ф" !== "\Ф") { + $ERROR('#Ф'); +} + +if ("Х" !== "\Х") { + $ERROR('#Х'); +} + +if ("Ц" !== "\Ц") { + $ERROR('#Ц'); +} + +if ("Ч" !== "\Ч") { + $ERROR('#Ч'); +} + +if ("Ш" !== "\Ш") { + $ERROR('#Ш'); +} + +if ("Щ" !== "\Щ") { + $ERROR('#Щ'); +} + +if ("Ъ" !== "\Ъ") { + $ERROR('#Ъ'); +} + +if ("Ы" !== "\Ы") { + $ERROR('#Ы'); +} + +if ("Ь" !== "\Ь") { + $ERROR('#Ь'); +} + +if ("Э" !== "\Э") { + $ERROR('#Э'); +} + +if ("Ю" !== "\Ю") { + $ERROR('#Ю'); +} + +if ("Я" !== "\Я") { + $ERROR('#Я'); +} + +if ("Ё" !== "\Ё") { + $ERROR('#Ё'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js new file mode 100644 index 000000000..78915dce4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T7.js + * @description NonEscapeSequence :: RUSSIAN SMALL ALPHABET + */ + +//CHECK#а-я +var CharacterCode = [0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x0451]; +var NonEscapeCharacter = ["\а", "\б", "\в", "\г", "\д", "\е", "\ж", "\з", "\и", "\й", "\к", "\л", "\м", "\н", "\о", "\п", "\р", "\с", "\т", "\у", "\ф", "\х", "\ц", "\ч", "\ш", "\щ", "\ъ", "\ы", "\ь", "\э", "\ю", "\я", "\ё"]; +for (var index = 0; index <= 32; index++) { + if (String.fromCharCode(CharacterCode[index]) !== NonEscapeCharacter[index]) { + $ERROR('#' + NonEscapeCharacter[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js new file mode 100644 index 000000000..3ef3f843e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js @@ -0,0 +1,144 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * CharacterEscapeSequnce :: NonEscapeSequence + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.2_T8.js + * @description NonEscapeSequence :: RUSSIAN SMALL ALPHABET + */ + +//CHECK#а-я + +if ("а" !== "\а") { + $ERROR('#а'); +} + +if ("б" !== "\б") { + $ERROR('#б'); +} + +if ("в" !== "\в") { + $ERROR('#в'); +} + +if ("г" !== "\г") { + $ERROR('#г'); +} + +if ("д" !== "\д") { + $ERROR('#д'); +} + +if ("е" !== "\е") { + $ERROR('#е'); +} + +if ("ж" !== "\ж") { + $ERROR('#ж'); +} + +if ("з" !== "\з") { + $ERROR('#з'); +} + +if ("и" !== "\и") { + $ERROR('#и'); +} + +if ("й" !== "\й") { + $ERROR('#й'); +} + +if ("к" !== "\к") { + $ERROR('#к'); +} + +if ("л" !== "\л") { + $ERROR('#л'); +} + +if ("м" !== "\м") { + $ERROR('#м'); +} + +if ("н" !== "\н") { + $ERROR('#н'); +} + +if ("о" !== "\о") { + $ERROR('#о'); +} + +if ("п" !== "\п") { + $ERROR('#п'); +} + +if ("р" !== "\р") { + $ERROR('#р'); +} + +if ("с" !== "\с") { + $ERROR('#с'); +} + +if ("т" !== "\т") { + $ERROR('#т'); +} + +if ("у" !== "\у") { + $ERROR('#у'); +} + +if ("ф" !== "\ф") { + $ERROR('#ф'); +} + +if ("х" !== "\х") { + $ERROR('#х'); +} + +if ("ц" !== "\ц") { + $ERROR('#ц'); +} + +if ("ч" !== "\ч") { + $ERROR('#ч'); +} + +if ("ш" !== "\ш") { + $ERROR('#ш'); +} + +if ("щ" !== "\щ") { + $ERROR('#щ'); +} + +if ("ъ" !== "\ъ") { + $ERROR('#ъ'); +} + +if ("ы" !== "\ы") { + $ERROR('#ы'); +} + +if ("ь" !== "\ь") { + $ERROR('#ь'); +} + +if ("э" !== "\э") { + $ERROR('#э'); +} + +if ("ю" !== "\ю") { + $ERROR('#ю'); +} + +if ("я" !== "\я") { + $ERROR('#я'); +} + +if ("ё" !== "\ё") { + $ERROR('#ё'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js new file mode 100644 index 000000000..96c823ee8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * NonEscapeSequence is not EscapeCharacter + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.3_T1.js + * @description EscapeCharacter :: DecimalDigits :: 1 + * @onlyStrict + * @negative + */ + +"use strict"; + +//CHECK#1 +"\1" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js new file mode 100644 index 000000000..b7f743e49 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * NonEscapeSequence is not EscapeCharacter + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.3_T2.js + * @description EscapeCharacter :: DecimalDigits :: 7 + * @onlyStrict + * @negative + */ + +"use strict"; + +//CHECK#1 +"\7" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js new file mode 100644 index 000000000..063930342 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * NonEscapeSequence is not EscapeCharacter + * + * @path ch07/7.8/7.8.4/S7.8.4_A4.3_T7.js + * @description EscapeCharacter :: SingleEscapeCharacter :: one of b f n r t v + */ + +//CHECK#bfnrtv +if ("b" === "\b") { + $ERROR('#b'); +} + +if ("f" === "\f") { + $ERROR('#f'); +} + +if ("n" === "\n") { + $ERROR('#n'); +} + +if ("r" === "\r") { + $ERROR('#r'); +} + +if ("t" === "\t") { + $ERROR('#t'); +} + +if ("v" === "\v") { + $ERROR('#v'); +} + + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js new file mode 100644 index 000000000..aa0acecb6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: 0 + * + * @path ch07/7.8/7.8.4/S7.8.4_A5.1_T1.js + * @description String.fromCharCode(0x0000) + */ + +//CHECK#1 +if (String.fromCharCode(0x0000) !== "\0") { + $ERROR('#1: String.fromCharCode(0x0000) === "\\0"'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js new file mode 100644 index 000000000..06830f080 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: 0 + * + * @path ch07/7.8/7.8.4/S7.8.4_A5.1_T2.js + * @description "\u0000" + */ + +//CHECK#1 +if ("\u0000" !== "\0") { + $ERROR('#1: "\\u0000" === "\\0"'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js new file mode 100644 index 000000000..f7a1de6ac --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: 0 + * + * @path ch07/7.8/7.8.4/S7.8.4_A5.1_T3.js + * @description "\x00" + */ + +//CHECK#1 +if ("\x00" !== "\0") { + $ERROR('#1: "\\x00" === "\\0"'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js new file mode 100644 index 000000000..ce8f5dae8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js @@ -0,0 +1,90 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit + * + * @path ch07/7.8/7.8.4/S7.8.4_A6.1_T1.js + * @description HexEscapeSequence :: HexDigit + */ + +//CHECK#0 +if ("\x00" !== String.fromCharCode("0")) { + $ERROR('#0: "\\x00" === String.fromCharCode("0")'); +} + +//CHECK#1 +if ("\x01" !== String.fromCharCode("1")) { + $ERROR('#1: "\\x01" === String.fromCharCode("1")'); +} + +//CHECK#2 +if ("\x02" !== String.fromCharCode("2")) { + $ERROR('#2: "\\x02" === String.fromCharCode("2")'); +} + +//CHECK#3 +if ("\x03" !== String.fromCharCode("3")) { + $ERROR('#3: "\\x03" === String.fromCharCode("3")'); +} + +//CHECK#4 +if ("\x04" !== String.fromCharCode("4")) { + $ERROR('#4: "\\x04" === String.fromCharCode("4")'); +} + +//CHECK#5 +if ("\x05" !== String.fromCharCode("5")) { + $ERROR('#5: "\\x05" === String.fromCharCode("5")'); +} + +//CHECK#6 +if ("\x06" !== String.fromCharCode("6")) { + $ERROR('#6: "\\x06" === String.fromCharCode("6")'); +} + +//CHECK#7 +if ("\x07" !== String.fromCharCode("7")) { + $ERROR('#7: "\\x07" === String.fromCharCode("7")'); +} + +//CHECK#8 +if ("\x08" !== String.fromCharCode("8")) { + $ERROR('#8: "\\x08" === String.fromCharCode("8")'); +} + +//CHECK#9 +if ("\x09" !== String.fromCharCode("9")) { + $ERROR('#9: "\\x09" === String.fromCharCode("9")'); +} + +//CHECK#A +if ("\x0A" !== String.fromCharCode("10")) { + $ERROR('#A: "\\x0A" === String.fromCharCode("10")'); +} + +//CHECK#B +if ("\x0B" !== String.fromCharCode("11")) { + $ERROR('#B: "\\x0B" === String.fromCharCode("11")'); +} + +//CHECK#C +if ("\x0C" !== String.fromCharCode("12")) { + $ERROR('#C: "\\x0C" === String.fromCharCode("12")'); +} + +//CHECK#D +if ("\x0D" !== String.fromCharCode("13")) { + $ERROR('#D: "\\x0D" === String.fromCharCode("13")'); +} + +//CHECK#E +if ("\x0E" !== String.fromCharCode("14")) { + $ERROR('#E: "\\x0E" === String.fromCharCode("14")'); +} + +//CHECK#F +if ("\x0F" !== String.fromCharCode("15")) { + $ERROR('#F: "\\x0F" === String.fromCharCode("15")'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js new file mode 100644 index 000000000..64cdc0ebe --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit + * + * @path ch07/7.8/7.8.4/S7.8.4_A6.1_T2.js + * @description HexEscapeSequence :: ENGLISH CAPITAL ALPHABET + */ + +//CHECK#A-Z +var hex = ["\x41", "\x42", "\x43", "\x44", "\x45", "\x46", "\x47", "\x48", "\x49", "\x4A", "\x4B", "\x4C", "\x4D", "\x4E", "\x4F", "\x50", "\x51", "\x52", "\x53", "\x54", "\x55", "\x56", "\x57", "\x58", "\x59", "\x5A"]; +var character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; +for (var index = 0; index <= 25; index++) { + if (hex[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js new file mode 100644 index 000000000..c3ef6e4d3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit + * + * @path ch07/7.8/7.8.4/S7.8.4_A6.1_T3.js + * @description HexEscapeSequence :: ENGLISH SMALL ALPHABET + */ + +//CHECK#a-z +var hex = ["\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6A", "\x6B", "\x6C", "\x6D", "\x6E", "\x6F", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7A"]; +var character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; +for (var index = 0; index <= 25; index++) { + if (hex[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js new file mode 100644 index 000000000..4611ba25a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js @@ -0,0 +1,85 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * \x HexDigit HexDigit SingleStringCharacter + * + * @path ch07/7.8/7.8.4/S7.8.4_A6.3_T1.js + * @description Check similar to ('\x01F' === String.fromCharCode('1') + 'F') + */ + +//CHECK#1 +if ('\x01F' !== String.fromCharCode('1') + 'F') { + $ERROR("#1: '\x01F' === String.fromCharCode('1') + 'F'"); +} + +//CHECK#2 +if ('\x02E' !== String.fromCharCode('2') + 'E') { + $ERROR("#2: '\x02E' === String.fromCharCode('2') + 'E'"); +} + +//CHECK#3 +if ('\x03D' !== String.fromCharCode('3') + 'D') { + $ERROR("#3: '\x03D' === String.fromCharCode('3') + 'D'"); +} + +//CHECK#4 +if ('\x04C' !== String.fromCharCode('4') + 'C') { + $ERROR("#4: '\x04C' === String.fromCharCode('4') + 'C'"); +} + +//CHECK#5 +if ('\x05B' !== String.fromCharCode('5') + 'B') { + $ERROR("#5: '\x05B' === String.fromCharCode('5') + 'B'"); +} + +//CHECK#6 +if ('\x06A' !== String.fromCharCode('6') + 'A') { + $ERROR("#6: '\x06A' === String.fromCharCode('6') + 'A'"); +} + +//CHECK#7 +if ('\x079' !== String.fromCharCode('7') + '9') { + $ERROR("#7: '\x079' === String.fromCharCode('7') + '9'"); +} + +//CHECK#8 +if ('\x088' !== String.fromCharCode('8') + '8') { + $ERROR("#8: '\x088' === String.fromCharCode('8') + '8'"); +} + +//CHECK#9 +if ('\x097' !== String.fromCharCode('9') + '7') { + $ERROR("#9: '\x097' === String.fromCharCode('9') + '7'"); +} + +//CHECK#A +if ('\x0A6' !== String.fromCharCode('10') + '6') { + $ERROR("#A: '\x0A6' === String.fromCharCode('10') + '6'"); +} + +//CHECK#B +if ('\x0B5' !== String.fromCharCode('11') + '5') { + $ERROR("#B: '\x0B5' === String.fromCharCode('11') + '5'"); +} + +//CHECK#C +if ('\x0C4' !== String.fromCharCode('12') + '4') { + $ERROR("#C: '\x0C4' === String.fromCharCode('12') + '4'"); +} + +//CHECK#D +if ('\x0D3' !== String.fromCharCode('13') + '3') { + $ERROR("#D: '\x0D3' === String.fromCharCode('13') + '3'"); +} + +//CHECK#E +if ('\x0E2' !== String.fromCharCode('14') + '2') { + $ERROR("#E: '\x0E2' === String.fromCharCode('14') + '2'"); +} + +//CHECK#F +if ('\x0F1' !== String.fromCharCode('15') + '1') { + $ERROR("#F: '\x0F1' === String.fromCharCode('15') + '1'"); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js new file mode 100644 index 000000000..512de11f2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js @@ -0,0 +1,90 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T1.js + * @description Check similar to ("\u0000" === String.fromCharCode("0")) + */ + +//CHECK#0 +if ("\u0000" !== String.fromCharCode("0")) { + $ERROR('#0: "\\u0000" === String.fromCharCode("0")'); +} + +//CHECK#1 +if ("\u0001" !== String.fromCharCode("1")) { + $ERROR('#1: "\\u0001" === String.fromCharCode("1")'); +} + +//CHECK#2 +if ("\u0002" !== String.fromCharCode("2")) { + $ERROR('#2: "\\u0002" === String.fromCharCode("2")'); +} + +//CHECK#3 +if ("\u0003" !== String.fromCharCode("3")) { + $ERROR('#3: "\\u0003" === String.fromCharCode("3")'); +} + +//CHECK#4 +if ("\u0004" !== String.fromCharCode("4")) { + $ERROR('#4: "\\u0004" === String.fromCharCode("4")'); +} + +//CHECK#5 +if ("\u0005" !== String.fromCharCode("5")) { + $ERROR('#5: "\\u0005" === String.fromCharCode("5")'); +} + +//CHECK#6 +if ("\u0006" !== String.fromCharCode("6")) { + $ERROR('#6: "\\u0006" === String.fromCharCode("6")'); +} + +//CHECK#7 +if ("\u0007" !== String.fromCharCode("7")) { + $ERROR('#7: "\\u0007" === String.fromCharCode("7")'); +} + +//CHECK#8 +if ("\u0008" !== String.fromCharCode("8")) { + $ERROR('#8: "\\u0008" === String.fromCharCode("8")'); +} + +//CHECK#9 +if ("\u0009" !== String.fromCharCode("9")) { + $ERROR('#9: "\\u0009" === String.fromCharCode("9")'); +} + +//CHECK#A +if ("\u000A" !== String.fromCharCode("10")) { + $ERROR('#A: "\\u000A" === String.fromCharCode("10")'); +} + +//CHECK#B +if ("\u000B" !== String.fromCharCode("11")) { + $ERROR('#B: "\\u000B" === String.fromCharCode("11")'); +} + +//CHECK#C +if ("\u000C" !== String.fromCharCode("12")) { + $ERROR('#C: "\\u000C" === String.fromCharCode("12")'); +} + +//CHECK#D +if ("\u000D" !== String.fromCharCode("13")) { + $ERROR('#D: "\\u000D" === String.fromCharCode("13")'); +} + +//CHECK#E +if ("\u000E" !== String.fromCharCode("14")) { + $ERROR('#E: "\\u000E" === String.fromCharCode("14")'); +} + +//CHECK#F +if ("\u000F" !== String.fromCharCode("15")) { + $ERROR('#F: "\\u000F" === String.fromCharCode("15")'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js new file mode 100644 index 000000000..32c6c3455 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T2.js + * @description UnicodeEscapeSequence :: ENGLISH CAPITAL ALPHABET + */ + +//CHECK#A-Z +var unicode = ["\u0041", "\u0042", "\u0043", "\u0044", "\u0045", "\u0046", "\u0047", "\u0048", "\u0049", "\u004A", "\u004B", "\u004C", "\u004D", "\u004E", "\u004F", "\u0050", "\u0051", "\u0052", "\u0053", "\u0054", "\u0055", "\u0056", "\u0057", "\u0058", "\u0059", "\u005A"]; +var character = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; +for (var index = 0; index <= 25; index++) { + if (unicode[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js new file mode 100644 index 000000000..7bf3ef85c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T3.js + * @description UnicodeEscapeSequence :: ENGLISH SMALL ALPHABET + */ + +//CHECK#a-z +var unicode = ["\u0061", "\u0062", "\u0063", "\u0064", "\u0065", "\u0066", "\u0067", "\u0068", "\u0069", "\u006A", "\u006B", "\u006C", "\u006D", "\u006E", "\u006F", "\u0070", "\u0071", "\u0072", "\u0073", "\u0074", "\u0075", "\u0076", "\u0077", "\u0078", "\u0079", "\u007A"]; +var character = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; +for (var index = 0; index <= 25; index++) { + if (unicode[index] !== character[index]) { + $ERROR('#' + character[index] + ' '); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js new file mode 100644 index 000000000..11b4f5620 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * EscapeSequence :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.1_T4.js + * @description UnicodeEscapeSequence :: u000G is incorrect + * @negative + */ + +//CHECK# +"\u000G" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js new file mode 100644 index 000000000..6c3cff0dd --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T1.js + * @description :: HexDigit :: 1 + * @negative + */ + +//CHECK#1 +"\u1" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js new file mode 100644 index 000000000..c1918f414 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T2.js + * @description :: HexDigit :: A + * @negative + */ + +//CHECK#1 +"\uA" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js new file mode 100644 index 000000000..b1eee5923 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T3.js + * @description :: HexDigit :: 1 + * @negative + */ + +//CHECK#1 +"\u11" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js new file mode 100644 index 000000000..6fe1c8afe --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T4.js + * @description :: HexDigit :: A + * @negative + */ + +//CHECK#1 +"\uAA" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js new file mode 100644 index 000000000..f047e5337 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T5.js + * @description :: HexDigit :: 1 + * @negative + */ + +//CHECK#1 +"\u111" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js new file mode 100644 index 000000000..5d28d4a5e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * UnicodeEscapeSequence :: u HexDigit (one, two or three time) is incorrect + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.2_T6.js + * @description :: HexDigit :: A + * @negative + */ + +//CHECK#1 +"\uAAA" + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js new file mode 100644 index 000000000..baaeaae6f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js @@ -0,0 +1,85 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * \u HexDigit HexDigit HexDigit HexDigit DoubleStringCharacter + * + * @path ch07/7.8/7.8.4/S7.8.4_A7.3_T1.js + * @description Check similar to ("\u0001F" === String.fromCharCode("1") + "F") + */ + +//CHECK#1 +if ("\u0001F" !== String.fromCharCode("1") + "F") { + $ERROR('#1: "\\u0001F" === String.fromCharCode("1") + "F"'); +} + +//CHECK#2 +if ("\u0002E" !== String.fromCharCode("2") + "E") { + $ERROR('#2: "\\u0002E" === String.fromCharCode("2") + "E"'); +} + +//CHECK#3 +if ("\u0003D" !== String.fromCharCode("3") + "D") { + $ERROR('#3: "\\u0003D" === String.fromCharCode("3") + "D"'); +} + +//CHECK#4 +if ("\u0004C" !== String.fromCharCode("4") + "C") { + $ERROR('#4: "\\u0004C" === String.fromCharCode("4") + "C"'); +} + +//CHECK#5 +if ("\u0005B" !== String.fromCharCode("5") + "B") { + $ERROR('#5: "\\u0005B" === String.fromCharCode("5") + "B"'); +} + +//CHECK#6 +if ("\u0006A" !== String.fromCharCode("6") + "A") { + $ERROR('#6: "\\u0006A" === String.fromCharCode("6") + "A"'); +} + +//CHECK#7 +if ("\u00079" !== String.fromCharCode("7") + "9") { + $ERROR('#7: "\\u00079" === String.fromCharCode("7") + "9"'); +} + +//CHECK#8 +if ("\u00088" !== String.fromCharCode("8") + "8") { + $ERROR('#8: "\\u00088" === String.fromCharCode("8") + "8"'); +} + +//CHECK#9 +if ("\u00097" !== String.fromCharCode("9") + "7") { + $ERROR('#9: "\\u00097" === String.fromCharCode("9") + "7"'); +} + +//CHECK#A +if ("\u000A6" !== String.fromCharCode("10") + "6") { + $ERROR('#A: "\\u000A6" === String.fromCharCode("10") + "6"'); +} + +//CHECK#B +if ("\u000B5" !== String.fromCharCode("11") + "5") { + $ERROR('#B: "\\u000B5" === String.fromCharCode("11") + "5"'); +} + +//CHECK#C +if ("\u000C4" !== String.fromCharCode("12") + "4") { + $ERROR('#C: "\\u000C4" === String.fromCharCode("12") + "4"'); +} + +//CHECK#D +if ("\u000D3" !== String.fromCharCode("13") + "3") { + $ERROR('#D: "\\u000D3" === String.fromCharCode("13") + "3"'); +} + +//CHECK#E +if ("\u000E2" !== String.fromCharCode("14") + "2") { + $ERROR('#E: "\\u000E2" === String.fromCharCode("14") + "2"'); +} + +//CHECK#F +if ("\u000F1" !== String.fromCharCode("15") + "1") { + $ERROR('#F: "\\u000F1" === String.fromCharCode("15") + "1"'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/browser.js b/js/src/tests/test262/ch07/7.8/7.8.4/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/browser.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.4/shell.js b/js/src/tests/test262/ch07/7.8/7.8.4/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.4/shell.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-1.js b/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-1.js new file mode 100644 index 000000000..a8fe6e29f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-1.js @@ -0,0 +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 ch07/7.8/7.8.5/7.8.5-1.js
+ * @description Literal RegExp Objects - SyntaxError exception is thrown if the RegularExpressionNonTerminator position of a RegularExpressionBackslashSequence is a LineTerminator.
+ */
+
+
+function testcase() {
+ try {
+ eval("var regExp = /\\\rn/;");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ }
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-1gs.js b/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-1gs.js new file mode 100644 index 000000000..4b22a6193 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-1gs.js @@ -0,0 +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 ch07/7.8/7.8.5/7.8.5-1gs.js
+ * @description Empty literal RegExp should result in a SyntaxError
+ * @negative ^((?!NotEarlyError).)*$
+ */
+
+throw NotEarlyError;
+var re = //;
+
diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-2gs.js b/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-2gs.js new file mode 100644 index 000000000..b67638b03 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/7.8.5-2gs.js @@ -0,0 +1,13 @@ +/// 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 ch07/7.8/7.8.5/7.8.5-2gs.js
+ * @description Empty dynamic RegExp should not result in a SyntaxError
+ */
+
+var re = new RegExp("");
+
diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js new file mode 100644 index 000000000..638177170 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: NonTerminator but not * or \ or /, + * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.1_T1.js + * @description Without eval + */ + +//CHECK#1 +if (/1/.source !== "1") { + $ERROR('#1: /1/'); +} + +//CHECK#2 +if (/a/.source !== "a") { + $ERROR('#2: /a/'); +} + +//CHECK#3 +if (/;/.source !== ";") { + $ERROR('#3: /;/'); +} + +//CHECK#4 +if (/ /.source !== " ") { + $ERROR('#4: / /'); +} + +//CHECK#5 +if (/\u0041/.source !== "\\u0041") { + $ERROR('#5: /\\u0041/'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js new file mode 100644 index 000000000..e46d2e24d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: NonTerminator but not * or \ or /, + * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.1_T2.js + * @description Complex test with eval, using syntax pattern + */ + +//CHECK +var errorCount = 0; +var count = 0; +var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; +for (var i1 = 0; i1 < 16; i1++) { + for (var i2 = 0; i2 < 16; i2++) { + for (var i3 = 0; i3 < 16; i3++) { + for (var i4 = 0; i4 < 16; i4++) { + try { + var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4]; + var Elimination = + ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") || + (uu === "003F") || (uu === "0028") || (uu === "0029") || + (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D")); + /* + * \u002A / \u002F \ \u005C + \u002B + ? \u003F ( \u0028 ) \u0029 + [ \u005B ] \u005D { \u007B } \u007D + */ + var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029")); + if ((Elimination || LineTerminator ) === false) { + var xx = String.fromCharCode("0x" + uu); + var pattern = eval("/" + xx + "/"); + if (pattern.source !== xx) { + $ERROR('#' + uu + ' '); + errorCount++; + } + } else { + count--; + } + } catch (e) { + $ERROR('#' + uu + ' '); + errorCount++; + } + count++; + } + } + } +} + +if (errorCount > 0) { + $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js new file mode 100644 index 000000000..d7013d049 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T1.js + * @description * + * @negative + */ + +//CHECK#1 +/*/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js new file mode 100644 index 000000000..b050d8c53 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T2.js + * @description \ + * @negative + */ + +//CHECK#1 +/\/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js new file mode 100644 index 000000000..abd943bac --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T3.js + * @description / + * @negative + */ + +//CHECK#1 +/// +.source; + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js new file mode 100644 index 000000000..6d341f991 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: * or \ or / or [empty] is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.2_T4.js + * @description [empty] + * @negative + */ + +//CHECK#1 +// +.source; + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js new file mode 100644 index 000000000..4fdba3e4c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T1.js + * @description Line Feed, without eval + * @negative + */ + +//CHECK#1 +/ +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js new file mode 100644 index 000000000..a2ac51235 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T2.js + * @description Line Feed, with eval + */ + +//CHECK#1 +try { + eval("/\u000A/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: Line Feed is incorrect. Actual: ' + (eval("/\u000A/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: Line Feed is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js new file mode 100644 index 000000000..95d7ebcd6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T3.js + * @description Carriage Return, without eval + * @negative + */ + +//CHECK#1 +/ +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js new file mode 100644 index 000000000..638eecf69 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T4.js + * @description Carriage Return, with eval + */ + +//CHECK#1 +try { + eval("/\u000D/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: Carriage Return is incorrect. Actual: ' + (eval("/\u000D/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: Carriage Return is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js new file mode 100644 index 000000000..c621df543 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T5.js + * @description Line separator, with eval + */ + +//CHECK#1 +try { + eval("/\u2028/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: Line separator is incorrect. Actual: ' + (eval("/\u2028/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: Line separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js new file mode 100644 index 000000000..1ad88db22 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.3_T6.js + * @description Paragraph separator, with eval + */ + +//CHECK#1 +try { + eval("/\u2029/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: Paragraph separator is incorrect. Actual: ' + (eval("/\u2029/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: Paragraph separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js new file mode 100644 index 000000000..0c87e0b3d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js @@ -0,0 +1,31 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \NonTerminator, + * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.4_T1.js + * @description Check similar to (/\1/.source === "\\1") + */ + +//CHECK#1 +if (/\1/.source !== "\\1") { + $ERROR('#1: /\\1/'); +} + +//CHECK#2 +if (/\a/.source !== "\\a") { + $ERROR('#2: /\\a/'); +} + +//CHECK#3 +if (/\;/.source !== "\\;") { + $ERROR('#3: /\\;/'); +} + +//CHECK#4 +if (/\ /.source !== "\\ ") { + $ERROR('#4: /\\ /'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js new file mode 100644 index 000000000..f17d8332a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \NonTerminator, + * RegularExpressionChars :: [empty], RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js + * @description Complex test with eval, using syntax pattern + */ + +//CHECK +var errorCount = 0; +var count = 0; +var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; +for (var i1 = 0; i1 < 16; i1++) { + for (var i2 = 0; i2 < 16; i2++) { + for (var i3 = 0; i3 < 16; i3++) { + for (var i4 = 0; i4 < 16; i4++) { + try { + var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4]; + var Elimination = + ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") || + (uu === "003F") || (uu === "0028") || (uu === "0029") || + (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D")); + /* + * \u002A / \u002F \ \u005C + \u002B + ? \u003F ( \u0028 ) \u0029 + [ \u005B ] \u005D { \u007B } \u007D + */ + var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029")); + if ((Elimination || LineTerminator ) === false) { + var xx = "\\" + String.fromCharCode("0x" + uu); + var pattern = eval("/" + xx + "/"); + if (pattern.source !== xx) { + $ERROR('#' + uu + ' '); + errorCount++; + } + } else { + count--; + } + } catch (e) { + $ERROR('#' + uu + ' '); + errorCount++; + } + count++; + } + } + } +} + +if (errorCount > 0) { + $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js new file mode 100644 index 000000000..94a9734d0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T1.js + * @description Line Feed, without eval + * @negative + */ + +//CHECK#1 +/\ +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js new file mode 100644 index 000000000..923e3f737 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T2.js + * @description Line Feed, with eval + */ + +//CHECK#1 +try { + eval("/\\\u000A/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (eval("/\\\u000A/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js new file mode 100644 index 000000000..3c349c10b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T3.js + * @description Carriage Return, without eval + * @negative + */ + +//CHECK#1 +/\ +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js new file mode 100644 index 000000000..e5b89920a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T4.js + * @description Carriage Return, with eval + */ + +//CHECK#1 +try { + eval("/\\\u000D/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (eval("/\\\u000D/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js new file mode 100644 index 000000000..a9b6d9696 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T5.js + * @description Line separator, with eval + */ + +//CHECK#1 +try { + eval("/\\\u2028/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (eval("/\\\u2028/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js new file mode 100644 index 000000000..73345ed41 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFirstChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A1.5_T6.js + * @description Paragraph separator, with eval + */ + +//CHECK#1 +try { + eval("/\\\u2029/").source; + $ERROR('#1.1: RegularExpressionFirstChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (eval("/\\\u2029/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionFirstChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js new file mode 100644 index 000000000..5b69da20d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: NonTerminator but not \ or /, + * RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.1_T1.js + * @description Without eval + */ + +//CHECK#1 +if (/1a/.source !== "1a") { + $ERROR('#1: /1a/'); +} + +//CHECK#2 +if (/aa/.source !== "aa") { + $ERROR('#2: /aa/'); +} + +//CHECK#3 +if (/,;/.source !== ",;") { + $ERROR('#3: /,;/'); +} + +//CHECK#4 +if (/ /.source !== " ") { + $ERROR('#4: / /'); +} + +//CHECK#5 +if (/a\u0041/.source !== "a\\u0041") { + $ERROR('#5: /a\\u0041/'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js new file mode 100644 index 000000000..b8e66b23e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js @@ -0,0 +1,56 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: NonTerminator but not \ or /, + * RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.1_T2.js + * @description Complex test with eval, using syntax pattern + */ + +//CHECK +var errorCount = 0; +var count = 0; +var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; +for (var i1 = 0; i1 < 16; i1++) { + for (var i2 = 0; i2 < 16; i2++) { + for (var i3 = 0; i3 < 16; i3++) { + for (var i4 = 0; i4 < 16; i4++) { + try { + var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4]; + var Elimination = + ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") || + (uu === "003F") || (uu === "0028") || (uu === "0029") || + (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D")); + /* + * \u002A / \u002F \ \u005C + \u002B + ? \u003F ( \u0028 ) \u0029 + [ \u005B ] \u005D { \u007B } \u007D + */ + var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029")); + if ((Elimination || LineTerminator ) === false) { + var xx = "nnnn" + String.fromCharCode("0x" + uu); + var pattern = eval("/" + xx + "/"); + if (pattern.source !== xx) { + $ERROR('#' + uu + ' '); + errorCount++; + } + + } else { + count--; + } + } catch (e) { + $ERROR('#' + uu + ' '); + errorCount++; + } + count++; + } + } + } +} + +if (errorCount > 0) { + $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js new file mode 100644 index 000000000..8231c0407 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: \ or / is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.2_T1.js + * @description \ + * @negative + */ + +//CHECK#1 +/a\/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js new file mode 100644 index 000000000..b80f21691 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: \ or / is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.2_T2.js + * @description / + * @negative + */ + +//CHECK#1 +/a//.source; + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js new file mode 100644 index 000000000..fd42341e0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T1.js + * @description Line Feed, without eval + * @negative + */ + +//CHECK#1 +/a +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js new file mode 100644 index 000000000..8f3523088 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T2.js + * @description Line Feed, with eval + */ + +//CHECK#1 +try { + eval("/a\u000A/").source; + $ERROR('#1.1: RegularExpressionChar :: Line Feedis incorrect. Actual: ' + (eval("/a\u000A/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: Line Feed is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js new file mode 100644 index 000000000..c9debb5c5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T3.js + * @description Carriage Return, without eval + * @negative + */ + +//CHECK#1 +/a +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js new file mode 100644 index 000000000..4c2dda384 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T4.js + * @description Carriage Return, with eval + */ + +//CHECK#1 +try { + eval("/a\u000D/").source; + $ERROR('#1.1: RegularExpressionChar :: Carriage Retur is incorrect. Actual: ' + (eval("/a\u000D/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: Carriage Retur is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js new file mode 100644 index 000000000..85d43801f --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T5.js + * @description Line separator, with eval + */ + +//CHECK#1 +try { + eval("/a\u2028/").source; + $ERROR('#1.1: RegularExpressionChar :: Line separator is incorrect. Actual: ' + (eval("/a\u2028/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: Line separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js new file mode 100644 index 000000000..abf9833c5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.3_T6.js + * @description Paragraph separator, with eval + */ + +//CHECK#1 +try { + eval("/s\u2029/").source; + $ERROR('#1.1: RegularExpressionChar :: Paragraph separator is incorrect. Actual: ' + (eval("/s\u2029/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: Paragraph separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js new file mode 100644 index 000000000..8a67dc42a --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js @@ -0,0 +1,31 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \NonTerminator, + * RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.4_T1.js + * @description Check similar to (/a\1/.source === "a\\1") + */ + +//CHECK#1 +if (/a\1/.source !== "a\\1") { + $ERROR('#1: /a\\1/'); +} + +//CHECK#2 +if (/a\a/.source !== "a\\a") { + $ERROR('#2: /a\\a/'); +} + +//CHECK#3 +if (/,\;/.source !== ",\\;") { + $ERROR('#3: /,\\;/'); +} + +//CHECK#4 +if (/ \ /.source !== " \\ ") { + $ERROR('#4: / \\ /'); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js new file mode 100644 index 000000000..fa26a976b --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \NonTerminator, + * RegularExpressionFlags :: [empty] + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.4_T2.js + * @description Complex test with eval, using syntax pattern + */ + +//CHECK +var errorCount = 0; +var count = 0; +var hex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; +for (var i1 = 0; i1 < 16; i1++) { + for (var i2 = 0; i2 < 16; i2++) { + for (var i3 = 0; i3 < 16; i3++) { + for (var i4 = 0; i4 < 16; i4++) { + try { + var uu = hex[i1] + hex[i2] + hex[i3] + hex[i4]; + var Elimination = + ((uu === "002A") || (uu === "002F") || (uu === "005C") || (uu === "002B") || + (uu === "003F") || (uu === "0028") || (uu === "0029") || + (uu === "005B") || (uu === "005D") || (uu === "007B") || (uu === "007D")); + /* + * \u002A / \u002F \ \u005C + \u002B + ? \u003F ( \u0028 ) \u0029 + [ \u005B ] \u005D { \u007B } \u007D + */ + var LineTerminator = ((uu === "000A") || (uu === "000D") || (uu === "2028") || (uu === "2029")); + if ((Elimination || LineTerminator ) === false) { + var xx = "a\\" + String.fromCharCode("0x" + uu); + var pattern = eval("/" + xx + "/"); + if (pattern.source !== xx) { + $ERROR('#' + uu + ' '); + errorCount++; + } + } else { + count--; + } + } catch (e) { + $ERROR('#' + uu + ' '); + errorCount++; + } + count++; + } + } + } +} + +if (errorCount > 0) { + $ERROR('Total error: ' + errorCount + ' bad Regular Expression First Char in ' + count); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js new file mode 100644 index 000000000..a3d5e5b4e --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T1.js + * @description Line Feed, without eval + * @negative + */ + +//CHECK#1 +/a\ +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js new file mode 100644 index 000000000..685ada093 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T2.js + * @description Line Feed, with eval + */ + +//CHECK#1 +try { + eval("/a\\\u000A/").source; + $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (eval("/a\\\u000A/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Line Feed is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js new file mode 100644 index 000000000..e85821870 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T3.js + * @description Carriage Return, without eval + * @negative + */ + +//CHECK#1 +/a\ +/ + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js new file mode 100644 index 000000000..5cdea0817 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T4.js + * @description Carriage Return, with eval + */ + +//CHECK#1 +try { + eval("/a\\\u000D/").source; + $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (eval("/a\\\u000D/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Carriage Return is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js new file mode 100644 index 000000000..acc1f3080 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T5.js + * @description Line separator, with eval + */ + +//CHECK#1 +try { + eval("/a\\\u2028/").source; + $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (eval("/a\\\u2028/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Line separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js new file mode 100644 index 000000000..d33041021 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionChar :: BackslashSequence :: \LineTerminator is incorrect + * + * @path ch07/7.8/7.8.5/S7.8.5_A2.5_T6.js + * @description Paragraph separator, with eval + */ + +//CHECK#1 +try { + eval("/a\\\u2029/").source; + $ERROR('#1.1: RegularExpressionChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (eval("/a\\\u2029/").source)); +} +catch (e) { + if ((e instanceof SyntaxError) !== true) { + $ERROR('#1.2: RegularExpressionChar :: BackslashSequence :: \\Paragraph separator is incorrect. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js new file mode 100644 index 000000000..14ea4d7ea --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T1.js + * @description IdentifierPart :: g + */ + +//CHECK#1 +var regexp = /(?:)/g; +if (regexp.global !== true) { + $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global)); +} + +//CHECK#2 +if (regexp.ignoreCase !== false) { + $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === false. Actual: ' + (regexp.ignoreCase)); +} + +//CHECK#3 +if (regexp.multiline !== false) { + $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === false. Actual: ' + (regexp.multiline)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js new file mode 100644 index 000000000..f247140d2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T2.js + * @description IdentifierPart :: i + */ + +//CHECK#1 +var regexp = /(?:)/i; +if (regexp.global !== false) { + $ERROR('#1: var regexp = /(?:)/g; regexp.global === false. Actual: ' + (regexp.global)); +} + +//CHECK#2 +if (regexp.ignoreCase !== true) { + $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase)); +} + +//CHECK#3 +if (regexp.multiline !== false) { + $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === false. Actual: ' + (regexp.multiline)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js new file mode 100644 index 000000000..4f0e6f14d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T3.js + * @description IdentifierPart :: m + */ + +//CHECK#1 +var regexp = /(?:)/m; +if (regexp.global !== false) { + $ERROR('#1: var regexp = /(?:)/g; regexp.global === false. Actual: ' + (regexp.global)); +} + +//CHECK#2 +if (regexp.ignoreCase !== false) { + $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === false. Actual: ' + (regexp.ignoreCase)); +} + +//CHECK#3 +if (regexp.multiline !== true) { + $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === true. Actual: ' + (regexp.multiline)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js new file mode 100644 index 000000000..fd56ca01c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T4.js + * @description IdentifierPart :: gi + */ + +//CHECK#1 +var regexp = /(?:)/gi; +if (regexp.global !== true) { + $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global)); +} + +//CHECK#2 +if (regexp.ignoreCase !== true) { + $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase)); +} + +//CHECK#3 +if (regexp.multiline !== false) { + $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === false. Actual: ' + (regexp.multiline)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js new file mode 100644 index 000000000..3b45a94ca --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T5.js + * @description IdentifierPart :: mg + */ + +//CHECK#1 +var regexp = /(?:)/mg; +if (regexp.global !== true) { + $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global)); +} + +//CHECK#2 +if (regexp.ignoreCase !== false) { + $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === false. Actual: ' + (regexp.ignoreCase)); +} + +//CHECK#3 +if (regexp.multiline !== true) { + $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === true. Actual: ' + (regexp.multiline)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js new file mode 100644 index 000000000..fb188ed6c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T6.js + * @description IdentifierPart :: mig + */ + +//CHECK#1 +var regexp = /(?:)/mig; +if (regexp.global !== true) { + $ERROR('#1: var regexp = /(?:)/g; regexp.global === true. Actual: ' + (regexp.global)); +} + +//CHECK#2 +if (regexp.ignoreCase !== true) { + $ERROR('#2: var regexp = /(?:)/g; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase)); +} + +//CHECK#3 +if (regexp.multiline !== true) { + $ERROR('#3: var regexp = /(?:)/g; regexp.multiline === true. Actual: ' + (regexp.multiline)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js new file mode 100644 index 000000000..299241d4c --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T7.js + * @description IdentifierPart :: \u0067 (g) + */ + +//CHECK#1 +var regexp; +eval("regexp = /(?:)/\u0067"); +if (regexp.global !== true) { + $ERROR('#1: var regexp = /(?:)/\\u0067; regexp.global === true. Actual: ' + (regexp.global)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js new file mode 100644 index 000000000..de78b6f23 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T8.js + * @description IdentifierPart :: \u0069 (i) + */ + +//CHECK#1 +var regexp; +eval("regexp = /(?:)/\u0069"); +if (regexp.ignoreCase !== true) { + $ERROR('#1: var regexp = /(?:)/\\u0069; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js new file mode 100644 index 000000000..132586af4 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * RegularExpressionFlags :: IdentifierPart + * + * @path ch07/7.8/7.8.5/S7.8.5_A3.1_T9.js + * @description IdentifierPart :: \u006D (m) + */ + +//CHECK#1 +var regexp; +eval("regexp = /(?:)/\u006D"); +if (regexp.multiline !== true) { + $ERROR('#1: var regexp = /(?:)/\\u006D; regexp.multiline === true. Actual: ' + (regexp.multiline)); +} + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A4.1.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A4.1.js new file mode 100644 index 000000000..d8f33d67d --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A4.1.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * A regular expression literal is an input element that is converted to + * a RegExp object when it is scanned + * + * @path ch07/7.8/7.8.5/S7.8.5_A4.1.js + * @description Check ((/(?:)/ instanceof RegExp) === true) + */ + +//CHECK#1 +if ((/(?:)/ instanceof RegExp) !== true) { + $ERROR('#1: (/(?:)/ instanceof RegExp) === true. Actual: ' + ((/(?:)/ instanceof RegExp))); +} + + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A4.2.js b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A4.2.js new file mode 100644 index 000000000..569e4cbd2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/S7.8.5_A4.2.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Two regular expression literals in a program evaluate to + * regular expression objects that never compare as === to each other even + * if the two literals' contents are identical + * + * @path ch07/7.8/7.8.5/S7.8.5_A4.2.js + * @description Check equality two regular expression literals + */ + +//CHECK#1 +var regexp1 = /(?:)/; +var regexp2 = /(?:)/; +if (regexp1 === regexp2) { + $ERROR('#1: var regexp1 = /(?:)/; var regexp2 = /(?:)/; regexp1 !== regexp2'); +} + + diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/browser.js b/js/src/tests/test262/ch07/7.8/7.8.5/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/browser.js diff --git a/js/src/tests/test262/ch07/7.8/7.8.5/shell.js b/js/src/tests/test262/ch07/7.8/7.8.5/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/7.8.5/shell.js diff --git a/js/src/tests/test262/ch07/7.8/browser.js b/js/src/tests/test262/ch07/7.8/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/browser.js diff --git a/js/src/tests/test262/ch07/7.8/shell.js b/js/src/tests/test262/ch07/7.8/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.8/shell.js diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T1.js b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T1.js new file mode 100644 index 000000000..566fbbf47 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check examples for automatic semicolon insertion from the Standart + * + * @path ch07/7.9/7.9.2/S7.9.2_A1_T1.js + * @description { 1 2 } 3 is not a valid sentence in the ECMAScript grammar + * @negative + */ + +//CHECK#1 +{ 1 2 } 3 + diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T2.js b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T2.js new file mode 100644 index 000000000..565d860a2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check examples for automatic semicolon insertion from the Standart + * + * @path ch07/7.9/7.9.2/S7.9.2_A1_T2.js + * @description { 1 \n 2 } 3 is a valid sentence in the ECMAScript grammar with automatic semicolon insertion + */ + +//CHECK#1 +{ 1 +2 } 3 + diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T3.js b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T3.js new file mode 100644 index 000000000..ab0d03265 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check examples for automatic semicolon insertion from the Standart + * + * @path ch07/7.9/7.9.2/S7.9.2_A1_T3.js + * @description for( a ; b \n ) is not a valid sentence in the ECMAScript grammar + * @negative + */ + +//CHECK#1 +for( a ; b +) + diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T4.js b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T4.js new file mode 100644 index 000000000..e4c39798a --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T4.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check examples for automatic semicolon insertion from the Standart + * + * @path ch07/7.9/7.9.2/S7.9.2_A1_T4.js + * @description return \n a+b is a valid sentence in the ECMAScript grammar + * with automatic semicolon insertion, but returned undefined + */ + +//CHECK#1 +var a=1,b=2; +function test(){ + return + a+b +} +var x=test(); +if (x!==undefined) $ERROR('#1: Automatic semicolon insertion not work with return'); + diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T5.js b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T5.js new file mode 100644 index 000000000..3ca074a17 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T5.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check examples for automatic semicolon insertion from the Standart + * + * @path ch07/7.9/7.9.2/S7.9.2_A1_T5.js + * @description a=b \n ++c is a valid sentence in the ECMAScript grammar + * with automatic semicolon insertion, but a!==b++c + */ + +//CHECK#1 +var a=1,b=2,c=3; +a=b +++c + +if (a!==b) $ERROR('#1: Automatic semicolon insertion not work with ++'); + diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T6.js b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T6.js new file mode 100644 index 000000000..8284f932a --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T6.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check examples for automatic semicolon insertion from the Standart + * + * @path ch07/7.9/7.9.2/S7.9.2_A1_T6.js + * @description if(a>b) \n else c=d is not a valid sentence in the ECMAScript grammar + * @negative + */ + +//CHECK#1 +var a=1,b=2,c=3,d; +if(a>b) +else c=d + diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T7.js b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T7.js new file mode 100644 index 000000000..b2e1697bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T7.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check examples for automatic semicolon insertion from the Standart + * + * @path ch07/7.9/7.9.2/S7.9.2_A1_T7.js + * @description a=b+c \n (d+e).print() is a valid sentence in the ECMAScript grammar, + * and automatic semicolon insertion not run + */ + +//CHECK#1 +function c (a){ + return 2*a; +} + +var a=1,b=2,d=4,e=5; + +a=b+c +(d+e) + +if (a !== 20) $ERROR('#1: Automatic semicolon insertion work wrong'); + diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/browser.js b/js/src/tests/test262/ch07/7.9/7.9.2/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/browser.js diff --git a/js/src/tests/test262/ch07/7.9/7.9.2/shell.js b/js/src/tests/test262/ch07/7.9/7.9.2/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/7.9.2/shell.js diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A1.js b/js/src/tests/test262/ch07/7.9/S7.9_A1.js new file mode 100644 index 000000000..47b1453b5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A1.js @@ -0,0 +1,38 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Continue Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A1.js + * @description Try use continue \n Label construction + */ + +//CHECK#1 +label1: for (var i = 0; i <= 0; i++) { + for (var j = 0; j <= 1; j++) { + if (j === 0) { + continue label1; + } else { + $ERROR('#1: Check continue statement for automatic semicolon insertion'); + } + } +} + +//CHECK#2 +var result = false; +label2: for (var i = 0; i <= 1; i++) { + for (var j = 0; j <= 1; j++) { + if (j === 0) { + continue + label2; + } else { + result = true; + } + } +} + +if (result !== true) { + $ERROR('#2: Check continue statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T1.js new file mode 100644 index 000000000..6b884101e --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T1.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T1.js + * @description Checking if execution of "1 * {}" passes + */ + +//CHECK#1 +1 * {} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T10.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T10.js new file mode 100644 index 000000000..b1fff1247 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T10.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T10.js + * @description Checking if execution of "{a:1 \n} 3" passes + */ + +//CHECK#1 +{a:1 +} 3 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T11.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T11.js new file mode 100644 index 000000000..0b28b5e11 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T11.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T11.js + * @description Checking if execution of "{a:1 \n} \n 3" passes + */ + +//CHECK#1 +{a:1 +} +3 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T12.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T12.js new file mode 100644 index 000000000..600aaa5ac --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T12.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T12.js + * @description Checking if execution of "{ \n a: \n 1 \n } \n 3" passes + */ + +//CHECK#1 +{ +a: +1 +} +3 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T2.js new file mode 100644 index 000000000..762a4a910 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T2.js + * @description Checking if execution of "{}*1" fails + * @negative + */ + +//CHECK#1 +{} * 1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T3.js new file mode 100644 index 000000000..902631481 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T3.js + * @description Checking if execution of "({}) * 1" passes + */ + +//CHECK#1 +({}) * 1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T4.js new file mode 100644 index 000000000..fcd18b665 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T4.js + * @description Checking if execution of "({};)*1" fails + * @negative + */ + +//CHECK#1 +({};) * 1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T5.js new file mode 100644 index 000000000..47b59d8c0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T5.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T5.js + * @description Checking if execution of "( \n {} \n ) * 1" passes + */ + +//CHECK#1 +( + {} +) * 1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T6.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T6.js new file mode 100644 index 000000000..e900fc8c5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T6.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T6.js + * @description Checking if execution of "{} \n * 1" fails + * @negative + */ + +//CHECK#1 +{} + * 1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T7.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T7.js new file mode 100644 index 000000000..7cc00a70e --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T7.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T7.js + * @description Checking if execution of "{1} 2" passes + */ + +//CHECK#1 +{1} 2 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T8.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T8.js new file mode 100644 index 000000000..08b3fe564 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T8.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T8.js + * @description Checking if execution of "{1 2} 3" fails + * @negative + */ + +//CHECK#1 +{1 2} 3 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A10_T9.js b/js/src/tests/test262/ch07/7.9/S7.9_A10_T9.js new file mode 100644 index 000000000..03daf8d9d --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A10_T9.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check {} for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A10_T9.js + * @description Checking if execution of "{1 \n 2} 3" passes + */ + +//CHECK#1 +{1 +2} 3 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T1.js new file mode 100644 index 000000000..7acebb81e --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T1.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T1.js + * @description Use if (false) x = 1 (without semicolon) and check x + */ + +//CHECK#1 +var x = 0; +if (false) x = 1 +if (x !== 0) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T10.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T10.js new file mode 100644 index 000000000..d7304465b --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T10.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T10.js + * @description Use if (false) {x = 1} else {x=-1} and check x + */ + +//CHECK#1 +var x = 0; +if (false) {x = 1} else {x = -1} +if (x !== -1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T11.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T11.js new file mode 100644 index 000000000..008a365bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T11.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T11.js + * @description Use if (false) {{x = 1};} \n else x=-1 and check x + */ + +//CHECK#1 +var x = 0; +if (false) {{x = 1};} +else x = -1 +if (x !== -1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T2.js new file mode 100644 index 000000000..bcb0ccd65 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T2.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T2.js + * @description Use if (false) \n x = 1 and check x + */ + +//CHECK#1 +var x = 0; +if (false) +x = 1 +if (x !== 0) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T3.js new file mode 100644 index 000000000..12df0b4a9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T3.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T3.js + * @description Use if (false);\n x = 1 and check x + */ + +//CHECK#1 +var x = 0; +if (false); +x = 1 +if (x !== 1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T4.js new file mode 100644 index 000000000..d5ab788db --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T4.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T4.js + * @description Checking if execution of "if (false) x = 1 else x = -1" fails + * @negative + */ + +//CHECK#1 +var x = 0; +if (false) x = 1 else x = -1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T5.js new file mode 100644 index 000000000..22cfac9cf --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T5.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T5.js + * @description Use if (false) x = 1; else x=-1 and check x + */ + +//CHECK#1 +var x = 0; +if (false) x = 1; else x = -1 +if (x !== -1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T6.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T6.js new file mode 100644 index 000000000..b5555429c --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T6.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T6.js + * @description Use if (false) x = 1 \n else x=-1 and check x + */ + +//CHECK#1 +var x = 0; +if (false) x = 1 +else x = -1 +if (x !== -1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T7.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T7.js new file mode 100644 index 000000000..98fc0aea9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T7.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T7.js + * @description Use if (false) x = 1; \n else x=-1 and check x + */ + +//CHECK#1 +var x = 0; +if (false) x = 1; +else x = -1 +if (x !== -1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T8.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T8.js new file mode 100644 index 000000000..24d588152 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T8.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T8.js + * @description Use if (false) {x = 1}; \n else x=-1 and check x + * @negative + */ + +//CHECK#1 +var x = 0; +if (false) {x = 1}; +else x = -1 +if (x !== -1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A11_T9.js b/js/src/tests/test262/ch07/7.9/S7.9_A11_T9.js new file mode 100644 index 000000000..f0d6878fd --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A11_T9.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check If Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A11_T9.js + * @description Use if (false) {x = 1} \n else x=-1 and check x + */ + +//CHECK#1 +var x = 0; +if (false) {x = 1} +else x = -1 +if (x !== -1) { + $ERROR('#1: Check If Statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A2.js b/js/src/tests/test262/ch07/7.9/S7.9_A2.js new file mode 100644 index 000000000..fdc2189f9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A2.js @@ -0,0 +1,32 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Break Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A2.js + * @description Try use break \n Label construction + */ + +//CHECK#1 +label1: for (var i = 0; i <= 0; i++) { + for (var j = 0; j <= 0; j++) { + break label1; + } + $ERROR('#1: Check break statement for automatic semicolon insertion'); +} + +//CHECK#2 +var result = false; +label2: for (var i = 0; i <= 0; i++) { + for (var j = 0; j <= 0; j++) { + break + label2; + } + result = true; +} + +if (result !== true) { + $ERROR('#2: Check break statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A3.js b/js/src/tests/test262/ch07/7.9/S7.9_A3.js new file mode 100644 index 000000000..e52b88760 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A3.js @@ -0,0 +1,29 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Return Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A3.js + * @description Try use return \n Expression construction + */ + +//CHECK#1 +function f1() +{ + return 1; +} +if (f1() !== 1) { + $ERROR('#1: Check return statement for automatic semicolon insertion'); +} + +//CHECK#2 +function f2() +{ + return + 1; +} +if (f2() !== undefined) { + $ERROR('#2: Check return statement for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A4.js b/js/src/tests/test262/ch07/7.9/S7.9_A4.js new file mode 100644 index 000000000..d8a5ac607 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A4.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Throw Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A4.js + * @description Try use Throw \n Expression construction + * @negative + */ + +//CHECK#1 +try { + throw + 1; +} catch(e) { +} +$ERROR('#1: Check throw statement for automatic semicolon insertion'); + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.1_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.1_T1.js new file mode 100644 index 000000000..b0c69d298 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.1_T1.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Postfix Increment Operator for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.1_T1.js + * @description Try use Variable \n ++ construction + * @negative + */ + +//CHECK#1 +var x = 0; +x +++; +$ERROR('#1: Check Postfix Increment Operator for automatic semicolon insertion'); + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.2_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.2_T1.js new file mode 100644 index 000000000..24fcf4e7c --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.2_T1.js @@ -0,0 +1,24 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Prefix Increment Operator for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.2_T1.js + * @description Try use Variable1 \n ++Variable2 construction + */ + +//CHECK#1 +var x = 0; +var y = 0; +x +++y +if (x !== 0) { + $ERROR('#1: Check Prefix Increment Operator for automatic semicolon insertion'); +} else { + if (y !== 1) { + $ERROR('#2: Check Prefix Increment Operator for automatic semicolon insertion'); + } +} + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.3_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.3_T1.js new file mode 100644 index 000000000..283e73879 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.3_T1.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Postfix Decrement Operator for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.3_T1.js + * @description Try use Variable \n -- construction + * @negative + */ + +//CHECK#1 +var x = 1; +x +--; +$ERROR('#1: Check Postfix Decrement Operator for automatic semicolon insertion'); + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.4_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.4_T1.js new file mode 100644 index 000000000..6d58c1f69 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.4_T1.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Prefix Decrement Operator for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.4_T1.js + * @description Try use Variable1 \n --Variable2 construction + */ + +//CHECK#1 +var x = 1; +var y = 1; +x +--y +if (x !== 1) { + $ERROR('#1: Check Prefix Decrement Operator for automatic semicolon insertion'); +} else { + if (y !== 0) { + $ERROR('#1: Check Prefix Decrement Operator for automatic semicolon insertion'); + } +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T1.js new file mode 100644 index 000000000..872803b60 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Function Expression for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.5_T1.js + * @description Try use 1 + function_name\n(2 + 3) construction + */ + +//CHECK#1 +function f(t) { + return t; +} +var x = 1 + f +(2 + 3) +if (x !== 6) { + $ERROR('#1: Check Function Expression for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T2.js new file mode 100644 index 000000000..be29e1dca --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Function Expression for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.5_T2.js + * @description Try use function f(o) {o.x = 1; return o;}; \n (new Object()).x; construction + */ + +//CHECK#1 +var result = function f(o) {o.x = 1; return o;}; +(new Object()).x; +if (typeof result !== "function") { + $ERROR('#1: Check Function Expression for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T3.js new file mode 100644 index 000000000..e3dc89b38 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T3.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Function Expression for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.5_T3.js + * @description Try use function f(o) {o.x = 1; return o;} \n (new Object()).x; construction + */ + +//CHECK#1 +var result = function f(o) {o.x = 1; return o;} +(new Object()).x; +if (result !== 1) { + $ERROR('#1: Check Function Expression for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T4.js new file mode 100644 index 000000000..a005f1109 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T4.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Function Expression for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.5_T4.js + * @description Insert some LineTerminators into function body + */ + +//CHECK#1 +var x = +1 + (function (t){return {a:t +} +}) +(2 + 3). +a + +if (x !== 6) { + $ERROR('#1: Check Function Expression for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T5.js new file mode 100644 index 000000000..1c1942d73 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.5_T5.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Function Expression for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A5.5_T5.js + * @description Insert some LineTerminators into rerutn expression; + */ + +//CHECK#1 +var x = +1 + (function f +(t){ +return { +a: +function(){ +return t + 1 +} +} +} +) +(2 + 3). +a +() + +if (x !== 7) { + $ERROR('#1: Check Function Expression for automatic semicolon insertion'); +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.6_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.6_T1.js new file mode 100644 index 000000000..3381c5187 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.6_T1.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Since LineTerminator between Postfix Increment/Decrement Operator(I/DO) and operand is not allowed but + * between Prefix I/DO and operand admitted, Postfix I/DO in combination with prefix I/DO after automatic semicolon insertion gives valid result + * + * @path ch07/7.9/S7.9_A5.6_T1.js + * @description Try use Variable1 \n ++ \n Variable2 construction + */ + +var x=0, y=0; + +x +++ +y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if ((x!==0)&(y!==1)) { + $ERROR('#1: Check Postfix Increment Operator for automatic semicolon insertion'); +} +// +////////////////////////////////////////////////////////////////////////////// + +x +++y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if ((x!==0)&(y!==2)) { + $ERROR('#2: Check Postfix Increment Operator for automatic semicolon insertion'); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.6_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.6_T2.js new file mode 100644 index 000000000..6861e96e5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.6_T2.js @@ -0,0 +1,37 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Since LineTerminator between Postfix Increment/Decrement Operator(I/DO) and operand is not allowed but + * between Prefix I/DO and operand admitted, Postfix I/DO in combination with prefix I/DO after automatic semicolon insertion gives valid result + * + * @path ch07/7.9/S7.9_A5.6_T2.js + * @description Try use Variable1 \n -- \n Variable2 construction + */ + +var x=0, y=2; + +x +-- +y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if ((x!==0)&(y!==1)) { + $ERROR('#1: Check Postfix Increment Operator for automatic semicolon insertion'); +} +// +////////////////////////////////////////////////////////////////////////////// + +x +--y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if ((x!==0)&(y!==0)) { + $ERROR('#2: Check Postfix Increment Operator for automatic semicolon insertion'); +} +// +////////////////////////////////////////////////////////////////////////////// + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.7_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.7_T1.js new file mode 100644 index 000000000..696ba3c32 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.7_T1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Since LineTerminator(LT) between Postfix Increment/Decrement Operator(I/DO) and operand is not allowed, two IO(just as two DO and their combination) + * between two references separated by [LT] after automatic semicolon insertion lead to syntax error + * + * @path ch07/7.9/S7.9_A5.7_T1.js + * @description Try use Variable1 \n ++ \n ++ \n Variable2 construction + * @negative + */ + +var x=0, y=0; +var z= +x +++ +++ +y + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.8_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.8_T1.js new file mode 100644 index 000000000..9f3b7a75d --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.8_T1.js @@ -0,0 +1,52 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Since LineTerminator(LT) between Postfix Increment/Decrement Operator(I/DO) and operand is admitted, + * Additive/Substract Operator(A/SO) in combination with I/DO separated by LT or white spaces after automatic semicolon insertion gives valid result + * + * @path ch07/7.9/S7.9_A5.8_T1.js + * @description Try use Variable1 \n + \n ++ \n Variable2 construction + */ + +var x=0, y=0; +var z= +x ++ +++ +y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if ((z!==1)&&(y!==1)&&(x!==0)) { + $ERROR('#1: '); +} +// +////////////////////////////////////////////////////////////////////////////// + +z= +x ++ ++ +y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if ((z!==2)&&(y!==2)&&(x!==0)) { + $ERROR(''); +} +// +////////////////////////////////////////////////////////////////////////////// + +z= +x ++ ++ +y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if ((z!==3)&&(y!==3)&&(x!==0)) { + $ERROR(''); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A5.9_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A5.9_T1.js new file mode 100644 index 000000000..98f47ab9a --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A5.9_T1.js @@ -0,0 +1,52 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Additive/Substract Operator(A/SO) in combination with itself separated by LT or white spaces + * after automatic semicolon insertion gives valid result + * + * @path ch07/7.9/S7.9_A5.9_T1.js + * @description Try use Variable1 (different combinations of three +) Variable2 construction + */ + +var x=1, y=1; +var z= +x ++ ++ ++ +y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if ((z!==2)&&(y!==1)&&(x!==1)) { + $ERROR('#1: '); +} +// +////////////////////////////////////////////////////////////////////////////// + +z= +x + + + y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if ((z!==2)&&(y!==1)&&(x!==1)) { + $ERROR(''); +} +// +////////////////////////////////////////////////////////////////////////////// + +z= +x ++ + ++ + +y + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if ((z!==2)&&(y!==1)&&(x!==1)) { + $ERROR(''); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T1.js new file mode 100644 index 000000000..65bc94985 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T1.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T1.js + * @description for( Empty two semicolons and \n) + */ + +//CHECK#1 +for(;; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T10.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T10.js new file mode 100644 index 000000000..973ac4fe9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T10.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T10.js + * @description for (false \n two semicolons false \n) + */ + +//CHECK#1 +for(false + ;;false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T11.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T11.js new file mode 100644 index 000000000..27da10fff --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T11.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T11.js + * @description for (false \n semicolon \n semicolon \n) + */ + +//CHECK#1 +for(false + ; + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T12.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T12.js new file mode 100644 index 000000000..b78791194 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T12.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T12.js + * @description for (false \n semicolon false \n semicolon \n) + */ + +//CHECK#1 +for(false + ;false + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T13.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T13.js new file mode 100644 index 000000000..1762f3182 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T13.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T13.js + * @description for (false \n semicolon false \n semicolon false \n) + */ + +//CHECK#1 +for(false + ;false + ;false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T2.js new file mode 100644 index 000000000..ef2ac4e46 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T2.js + * @description for (semicolon \n semicolon \n) + */ + +//CHECK#1 +for(; + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T3.js new file mode 100644 index 000000000..71ee0b4d5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T3.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T3.js + * @description for (\n two semicolons \n) + */ + +//CHECK#1 +for( + ;; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T4.js new file mode 100644 index 000000000..8055a790a --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T4.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T4.js + * @description for( \n semicolon \n semicolon \n) + */ + +//CHECK#1 +for( + ; + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T5.js new file mode 100644 index 000000000..ce5e585dc --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T5.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T5.js + * @description for ( \n semicolon \n\n semicolon \n) + */ + +//CHECK#1 +for( + ; + + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T6.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T6.js new file mode 100644 index 000000000..578b88fbe --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T6.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T6.js + * @description for(false semicolon false semicolon false \n) + */ + +//CHECK#1 +for(false;false;false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T7.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T7.js new file mode 100644 index 000000000..ce53a6f9e --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T7.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T7.js + * @description for (false semicolon false \n semicolon \n) + */ + +//CHECK#1 +for(false;false + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T8.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T8.js new file mode 100644 index 000000000..fca8ddc80 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T8.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T8.js + * @description for (false semicolon false \n semicolon false \n) + */ + +//CHECK#1 +for(false;false + ;false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T9.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T9.js new file mode 100644 index 000000000..977b90b9e --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.1_T9.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.1_T9.js + * @description for (false \n two semicolons \n) + */ + +//CHECK#1 +for(false + ;; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T1.js new file mode 100644 index 000000000..e3461b907 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T1.js + * @description For header is (semicolon \n) + * @negative + */ + +//CHECK#1 +for(; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T10.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T10.js new file mode 100644 index 000000000..1e65032ca --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T10.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T10.js + * @description For header is (\n false \n semicolon) + * @negative + */ + +//CHECK#1 +for( + false +;) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T2.js new file mode 100644 index 000000000..bbe5fb83c --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T2.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T2.js + * @description For header is (\n semicolon \n) + * @negative + */ + +//CHECK#1 +for( + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T3.js new file mode 100644 index 000000000..0dfd55125 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T3.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T3.js + * @description For header is (\n semicolon) + * @negative + */ + +//CHECK#1 +for( +;) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T4.js new file mode 100644 index 000000000..d64278972 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T4.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T4.js + * @description For header is (\n \n semicolon) + * @negative + */ + +//CHECK#1 +for( + +;) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T5.js new file mode 100644 index 000000000..de9ed973b --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T5.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T5.js + * @description For header is (false semicolon false\n) + * @negative + */ + +//CHECK#1 +for(false;false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T6.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T6.js new file mode 100644 index 000000000..1efe468d2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T6.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T6.js + * @description For header is (false semicolon \n false) + * @negative + */ + +//CHECK#1 +for(false; +false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T7.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T7.js new file mode 100644 index 000000000..5050697ac --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T7.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T7.js + * @description For header is (false \n semicolon \n) + * @negative + */ + +//CHECK#1 +for(false + ; +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T8.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T8.js new file mode 100644 index 000000000..526809c86 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T8.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T8.js + * @description For header is (false \n semicolon false \n) + * @negative + */ + +//CHECK#1 +for(false + ;false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T9.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T9.js new file mode 100644 index 000000000..21e635ad0 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.2_T9.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Use one semicolon + * + * @path ch07/7.9/S7.9_A6.2_T9.js + * @description For header is (\n semicolon false) + * @negative + */ + +//CHECK#1 +for( +;false) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T1.js new file mode 100644 index 000000000..4089c29ef --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T1.js @@ -0,0 +1,19 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Don`t use semicolons + * + * @path ch07/7.9/S7.9_A6.3_T1.js + * @description For header is (\n) + * @negative + */ + +//CHECK#1 +for( +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T2.js new file mode 100644 index 000000000..6b54313e2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T2.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Don`t use semicolons + * + * @path ch07/7.9/S7.9_A6.3_T2.js + * @description For header is (\n \n) + * @negative + */ + +//CHECK#1 +for( + +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T3.js new file mode 100644 index 000000000..ee52d6181 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T3.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Don`t use semicolons + * + * @path ch07/7.9/S7.9_A6.3_T3.js + * @description For header is (\n \n \n) + * @negative + */ + +//CHECK#1 +for( + + +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T4.js new file mode 100644 index 000000000..41b80740a --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T4.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Don`t use semicolons + * + * @path ch07/7.9/S7.9_A6.3_T4.js + * @description For header is (\n false \n) + * @negative + */ + +//CHECK#1 +for( + false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T5.js new file mode 100644 index 000000000..2377faaa5 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T5.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Don`t use semicolons + * + * @path ch07/7.9/S7.9_A6.3_T5.js + * @description For header is (false \n false \n) + * @negative + */ + +//CHECK#1 +for(false + false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T6.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T6.js new file mode 100644 index 000000000..b400c9de3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T6.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Don`t use semicolons + * + * @path ch07/7.9/S7.9_A6.3_T6.js + * @description For header is (\n false \n false \n) + * @negative + */ + +//CHECK#1 +for( + false + false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T7.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T7.js new file mode 100644 index 000000000..ec63c02bc --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.3_T7.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion. + * If automatic insertion semicolon would become one of the two semicolons in the header of a For Statement. + * Don`t use semicolons + * + * @path ch07/7.9/S7.9_A6.3_T7.js + * @description For header is (\n false \n false \n false \n) + * @negative + */ + +//CHECK#1 +for( + false + false + false +) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.4_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.4_T1.js new file mode 100644 index 000000000..44169a23f --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.4_T1.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.4_T1.js + * @description Three semicolons. For header is (false semicolon false semicolon false semicolon) + * @negative + */ + +//CHECK#1 +for(false;false;false;) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A6.4_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A6.4_T2.js new file mode 100644 index 000000000..f930cf830 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A6.4_T2.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check For Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A6.4_T2.js + * @description Three semicolons. For header is (false semicolon false two semicolons false) + * @negative + */ + +//CHECK#1 +for(false;false;;false) { + break; +} + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T1.js new file mode 100644 index 000000000..ac730d59f --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T1.js + * @description Checking if execution of "var x \n = 1" passes + */ + +//CHECK#1 +var x += 1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T2.js new file mode 100644 index 000000000..91900bb1f --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T2.js + * @description Checking if execution of "var x = \n 1" passes + */ + +//CHECK#1 +var x = +1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T3.js new file mode 100644 index 000000000..bddc5e4d1 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T3.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T3.js + * @description Checking if execution of "var x \n x = 1" passes + */ + +//CHECK#1 +var x +x = 1 + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T4.js new file mode 100644 index 000000000..46f17a477 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T4.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T4.js + * @description Checking if execution of "var \n x" passes + */ + +//CHECK#1 +var +x + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T5.js new file mode 100644 index 000000000..d1e1be650 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T5.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T5.js + * @description Checking if execution of "var \n x \n = \n 1" passes + */ + +//CHECK#1 +var +x += +1 + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T6.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T6.js new file mode 100644 index 000000000..df7911717 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T6.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T6.js + * @description Checking if execution of "var x, \n y" passes + */ + +//CHECK#1 +var x, +y + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T7.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T7.js new file mode 100644 index 000000000..9beb8822c --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T7.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T7.js + * @description Checking if execution of "var x \n y" passes + * @negative + */ + +//CHECK#1 +var x +y + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T8.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T8.js new file mode 100644 index 000000000..9b9057ad9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T8.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T8.js + * @description Checking if execution of "var x \n ,y" passes + */ + +//CHECK#1 +var x +,y + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A7_T9.js b/js/src/tests/test262/ch07/7.9/S7.9_A7_T9.js new file mode 100644 index 000000000..826ce4651 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A7_T9.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Var Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A7_T9.js + * @description Checking if execution of "var x \n ,y = 1" passes + */ + +//CHECK#1 +var +x +,y = 1 + + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A8_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A8_T1.js new file mode 100644 index 000000000..d708cb3f6 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A8_T1.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Empty Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A8_T1.js + * @description Checking if execution of one semicolon passes + */ + +//CHECK#1 +; + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A8_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A8_T2.js new file mode 100644 index 000000000..8cf2691f8 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A8_T2.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Empty Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A8_T2.js + * @description Checking if execution of some semicolons with LineTerminators pases + */ + +//CHECK#1 +; +; +; +; + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A8_T3.js b/js/src/tests/test262/ch07/7.9/S7.9_A8_T3.js new file mode 100644 index 000000000..4a91d79f2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A8_T3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Empty Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A8_T3.js + * @description Checking if execution of some semicolons without LineTerminators passes + */ + +//CHECK#1 +;;;; + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A8_T4.js b/js/src/tests/test262/ch07/7.9/S7.9_A8_T4.js new file mode 100644 index 000000000..6017d8221 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A8_T4.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Empty Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A8_T4.js + * @description Checking if execution of some semicolons with LineTerminators and numbers passes + */ + +//CHECK#1 +;1; +;1 +;1; +;1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A8_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A8_T5.js new file mode 100644 index 000000000..339d7e24d --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A8_T5.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Empty Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A8_T5.js + * @description Checking if execution of some semicolons without LineTerminators but with numbers passes + */ + +//CHECK#1 +;;1;;1;;1 + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A9_T1.js b/js/src/tests/test262/ch07/7.9/S7.9_A9_T1.js new file mode 100644 index 000000000..0ee175bc3 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A9_T1.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A9_T1.js + * @description Execute do { \n }while(false) + */ + +//CHECK#1 +do { +} while (false) + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A9_T2.js b/js/src/tests/test262/ch07/7.9/S7.9_A9_T2.js new file mode 100644 index 000000000..3417ff15d --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A9_T2.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A9_T2.js + * @description Execute do; while(false) \n true + */ + +//CHECK#1 +do ; while (false) +true + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A9_T5.js b/js/src/tests/test262/ch07/7.9/S7.9_A9_T5.js new file mode 100644 index 000000000..0e0be2ee9 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A9_T5.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A9_T5.js + * @description Execute do { \n ; \n }while((false) \n ) + */ + +//CHECK#1 +do { + ; +} while ((false) +) + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A9_T6.js b/js/src/tests/test262/ch07/7.9/S7.9_A9_T6.js new file mode 100644 index 000000000..dfff034d7 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A9_T6.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A9_T6.js + * @description Execute do \n while(false) + * @negative + */ + +//CHECK#1 +do +while (false) + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A9_T7.js b/js/src/tests/test262/ch07/7.9/S7.9_A9_T7.js new file mode 100644 index 000000000..853144bc2 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A9_T7.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A9_T7.js + * @description Execute do \n\n while(false) + * @negative + */ + +//CHECK#1 +do + +while (false) + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A9_T8.js b/js/src/tests/test262/ch07/7.9/S7.9_A9_T8.js new file mode 100644 index 000000000..398a75efc --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A9_T8.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A9_T8.js + * @description Execute do {}; \n while(false) + * @negative + */ + +//CHECK#1 +do {}; +while (false) + diff --git a/js/src/tests/test262/ch07/7.9/S7.9_A9_T9.js b/js/src/tests/test262/ch07/7.9/S7.9_A9_T9.js new file mode 100644 index 000000000..cc5948759 --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/S7.9_A9_T9.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path ch07/7.9/S7.9_A9_T9.js + * @description Execute do {} \n while(false) + */ + +//CHECK#1 +do {} +while (false) + diff --git a/js/src/tests/test262/ch07/7.9/browser.js b/js/src/tests/test262/ch07/7.9/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/browser.js diff --git a/js/src/tests/test262/ch07/7.9/shell.js b/js/src/tests/test262/ch07/7.9/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/7.9/shell.js diff --git a/js/src/tests/test262/ch07/browser.js b/js/src/tests/test262/ch07/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/browser.js diff --git a/js/src/tests/test262/ch07/shell.js b/js/src/tests/test262/ch07/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch07/shell.js |