summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/ch07/7.9
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /js/src/tests/test262/ch07/7.9
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-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/7.9')
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T1.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T2.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T3.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T4.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T5.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T6.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/S7.9.2_A1_T7.js23
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/browser.js0
-rw-r--r--js/src/tests/test262/ch07/7.9/7.9.2/shell.js0
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A1.js38
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T1.js13
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T10.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T11.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T12.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T2.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T3.js13
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T4.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T5.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T6.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T7.js13
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T8.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A10_T9.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T1.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T10.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T11.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T2.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T3.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T4.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T5.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T6.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T7.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T8.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A11_T9.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A2.js32
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A3.js29
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A4.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.1_T1.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.2_T1.js24
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.3_T1.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.4_T1.js23
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.5_T1.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.5_T2.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.5_T3.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.5_T4.js22
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.5_T5.js30
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.6_T1.js36
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.6_T2.js37
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.7_T1.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.8_T1.js52
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A5.9_T1.js52
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T1.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T10.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T11.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T12.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T13.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T2.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T3.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T4.js18
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T5.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T6.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T7.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T8.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.1_T9.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T1.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T10.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T2.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T3.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T4.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T5.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T6.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T7.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T8.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.2_T9.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.3_T1.js19
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.3_T2.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.3_T3.js21
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.3_T4.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.3_T5.js20
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.3_T6.js21
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.3_T7.js22
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.4_T1.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A6.4_T2.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T1.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T2.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T3.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T4.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T5.js17
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T6.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T7.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T8.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A7_T9.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A8_T1.js13
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A8_T2.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A8_T3.js13
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A8_T4.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A8_T5.js13
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A9_T1.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A9_T2.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A9_T5.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A9_T6.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A9_T7.js16
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A9_T8.js15
-rw-r--r--js/src/tests/test262/ch07/7.9/S7.9_A9_T9.js14
-rw-r--r--js/src/tests/test262/ch07/7.9/browser.js0
-rw-r--r--js/src/tests/test262/ch07/7.9/shell.js0
105 files changed, 1893 insertions, 0 deletions
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