summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/ch12/12.4
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/ch12/12.4')
-rw-r--r--js/src/tests/test262/ch12/12.4/S12.4_A1.js17
-rw-r--r--js/src/tests/test262/ch12/12.4/S12.4_A2_T1.js35
-rw-r--r--js/src/tests/test262/ch12/12.4/S12.4_A2_T2.js35
-rw-r--r--js/src/tests/test262/ch12/12.4/browser.js0
-rw-r--r--js/src/tests/test262/ch12/12.4/shell.js0
5 files changed, 87 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch12/12.4/S12.4_A1.js b/js/src/tests/test262/ch12/12.4/S12.4_A1.js
new file mode 100644
index 000000000..0754d791e
--- /dev/null
+++ b/js/src/tests/test262/ch12/12.4/S12.4_A1.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.
+
+/**
+ * An ExpressionStatement can not start with the function keyword because that might make it ambiguous with a FunctionDeclaration
+ *
+ * @path ch12/12.4/S12.4_A1.js
+ * @description Checking if execution of "function(){}()" fails
+ * @negative
+ */
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+function(){}();
+//
+//////////////////////////////////////////////////////////////////////////////
+
diff --git a/js/src/tests/test262/ch12/12.4/S12.4_A2_T1.js b/js/src/tests/test262/ch12/12.4/S12.4_A2_T1.js
new file mode 100644
index 000000000..70d0aa62d
--- /dev/null
+++ b/js/src/tests/test262/ch12/12.4/S12.4_A2_T1.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.
+
+/**
+ * The production ExpressionStatement : [lookahead \notin {{, function}] Expression; is evaluated as follows:
+ * 1. Evaluate Expression.
+ * 2. Call GetValue(Result(1)).
+ * 3. Return (normal, Result(2), empty)
+ *
+ * @path ch12/12.4/S12.4_A2_T1.js
+ * @description Checking by using eval "(eval("x+1+x==1"))"
+ */
+
+x=1;
+
+__evaluated = eval("x+1+x==1");
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+if (__evaluated !== false) {
+ $ERROR('#1: __evaluated === false. Actual: __evaluated ==='+ __evaluated );
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+__evaluated = eval("1+1+1==1");
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#2
+if (__evaluated !== false) {
+ $ERROR('#2: __evaluated === false. Actual: __evaluated ==='+ __evaluated );
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
diff --git a/js/src/tests/test262/ch12/12.4/S12.4_A2_T2.js b/js/src/tests/test262/ch12/12.4/S12.4_A2_T2.js
new file mode 100644
index 000000000..2fdadc008
--- /dev/null
+++ b/js/src/tests/test262/ch12/12.4/S12.4_A2_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.
+
+/**
+ * The production ExpressionStatement : [lookahead \notin {{, function}] Expression; is evaluated as follows:
+ * 1. Evaluate Expression.
+ * 2. Call GetValue(Result(1)).
+ * 3. Return (normal, Result(2), empty)
+ *
+ * @path ch12/12.4/S12.4_A2_T2.js
+ * @description Checking by using eval(eval(x), where x is any string)
+ */
+
+x="5+1|0===0";
+
+__evaluated = eval(x);
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+if (__evaluated !== 7) {
+ $ERROR('#1: __evaluated === 7. Actual: __evaluated ==='+ __evaluated );
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+__evaluated = eval("2*"+x+">-1");
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#2
+if (__evaluated !== 11) {
+ $ERROR('#2: __evaluated === 11. Actual: __evaluated ==='+ __evaluated );
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
diff --git a/js/src/tests/test262/ch12/12.4/browser.js b/js/src/tests/test262/ch12/12.4/browser.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/test262/ch12/12.4/browser.js
diff --git a/js/src/tests/test262/ch12/12.4/shell.js b/js/src/tests/test262/ch12/12.4/shell.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/test262/ch12/12.4/shell.js