summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js b/js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js
new file mode 100644
index 0000000000..8eef6d6581
--- /dev/null
+++ b/js/src/tests/non262/misc/line-paragraph-separator-parse-as-lineterminator.js
@@ -0,0 +1,51 @@
+/*
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/licenses/publicdomain/
+ */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 663331;
+var summary =
+ "U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR must match the " +
+ "LineTerminator production when parsing code";
+
+print(BUGNUMBER + ": " + summary);
+
+/**************
+ * BEGIN TEST *
+ **************/
+
+var hidden = 17;
+var assigned;
+
+assigned = 42;
+assertEq(eval('"use strict"; var hidden\u2028assigned = 5; typeof hidden'),
+ "undefined");
+assertEq(assigned, 5);
+
+assigned = 42;
+function t1()
+{
+ assertEq(eval('var hidden\u2028assigned = 5; typeof hidden'), "undefined");
+ assertEq(assigned, 5);
+}
+t1();
+
+assigned = 42;
+assertEq(eval('"use strict"; var hidden\u2029assigned = 5; typeof hidden'),
+ "undefined");
+assertEq(assigned, 5);
+
+assigned = 42;
+function t2()
+{
+ assertEq(eval('var hidden\u2029assigned = 5; typeof hidden'), "undefined");
+ assertEq(assigned, 5);
+}
+t2();
+
+/******************************************************************************/
+
+reportCompare(true, true);
+
+print("All tests passed!");