summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js')
-rw-r--r--js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js b/js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js
new file mode 100644
index 0000000000..9043b818c6
--- /dev/null
+++ b/js/src/tests/non262/statements/arrow-function-at-end-of-for-statement-head.js
@@ -0,0 +1,64 @@
+// Any copyright is dedicated to the Public Domain.
+// http://creativecommons.org/licenses/publicdomain/
+
+//-----------------------------------------------------------------------------
+var gTestfile = "arrow-function-in-for-statement-head.js";
+var BUGNUMBER = 1302994;
+var summary =
+ "Don't assert when an arrow function occurs at the end of a declaration " +
+ "init-component of a for(;;) loop head";
+
+print(BUGNUMBER + ": " + summary);
+
+/**************
+ * BEGIN TEST *
+ **************/
+
+function f1()
+{
+ for (var x = a => b; false; false)
+ {}
+}
+f1();
+
+function f2()
+{
+ for (var x = a => b, y = c => d; false; false)
+ {}
+}
+f2();
+
+function f3()
+{
+ for (var x = a => {}; false; false)
+ {}
+}
+f3();
+
+function f4()
+{
+ for (var x = a => {}, y = b => {}; false; false)
+ {}
+}
+f4();
+
+function g1()
+{
+ for (a => b; false; false)
+ {}
+}
+g1();
+
+function g2()
+{
+ for (a => {}; false; false)
+ {}
+}
+g2();
+
+/******************************************************************************/
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);
+
+print("Tests complete");