From ba124c31b2e9ead135091449ac583993a36649f5 Mon Sep 17 00:00:00 2001
From: Richard Gibson <richard.gibson@gmail.com>
Date: Mon, 7 May 2018 16:59:55 -0400
Subject: [PATCH] Add tests for non-ASCII LineTerminator characters in string
 literals

---
 .../literals/string/line-separator-eval.js      | 16 ++++++++++++++++
 test/language/literals/string/line-separator.js | 17 +++++++++++++++++
 .../literals/string/paragraph-separator-eval.js | 16 ++++++++++++++++
 .../literals/string/paragraph-separator.js      | 17 +++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 100644 test/language/literals/string/line-separator-eval.js
 create mode 100644 test/language/literals/string/line-separator.js
 create mode 100644 test/language/literals/string/paragraph-separator-eval.js
 create mode 100644 test/language/literals/string/paragraph-separator.js

diff --git a/test/language/literals/string/line-separator-eval.js b/test/language/literals/string/line-separator-eval.js
new file mode 100644
index 0000000000..b9bd4932bd
--- /dev/null
+++ b/test/language/literals/string/line-separator-eval.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Richard Gibson. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-literals-string-literals
+description: >
+  U+2028 LINE SEPARATOR can appear in string literals (eval code).
+info: |
+  11.8.4 String Literals
+
+  All code points may appear literally in a string literal except for the
+  closing quote code points, U+005C (REVERSE SOLIDUS), U+000D (CARRIAGE RETURN),
+  and U+000A (LINE FEED).
+---*/
+
+assert.sameValue(eval("'\u2028'"), "\u2028");
diff --git a/test/language/literals/string/line-separator.js b/test/language/literals/string/line-separator.js
new file mode 100644
index 0000000000..619d70051c
--- /dev/null
+++ b/test/language/literals/string/line-separator.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2018 Richard Gibson. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-literals-string-literals
+description: >
+  U+2028 LINE SEPARATOR can appear in string literals.
+info: |
+  11.8.4 String Literals
+
+  All code points may appear literally in a string literal except for the
+  closing quote code points, U+005C (REVERSE SOLIDUS), U+000D (CARRIAGE RETURN),
+  and U+000A (LINE FEED).
+---*/
+
+// U+2028 in strings; UTF8(0x2028) = 0xE2 0x80 0xA8
+assert.sameValue("
", "\u2028");
diff --git a/test/language/literals/string/paragraph-separator-eval.js b/test/language/literals/string/paragraph-separator-eval.js
new file mode 100644
index 0000000000..68840e7424
--- /dev/null
+++ b/test/language/literals/string/paragraph-separator-eval.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2018 Richard Gibson. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-literals-string-literals
+description: >
+  U+2029 PARAGRAPH SEPARATOR can appear in string literals (eval code).
+info: |
+  11.8.4 String Literals
+
+  All code points may appear literally in a string literal except for the
+  closing quote code points, U+005C (REVERSE SOLIDUS), U+000D (CARRIAGE RETURN),
+  and U+000A (LINE FEED).
+---*/
+
+assert.sameValue(eval("'\u2029'"), "\u2029");
diff --git a/test/language/literals/string/paragraph-separator.js b/test/language/literals/string/paragraph-separator.js
new file mode 100644
index 0000000000..9c3bf0896f
--- /dev/null
+++ b/test/language/literals/string/paragraph-separator.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2018 Richard Gibson. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-literals-string-literals
+description: >
+  U+2029 PARAGRAPH SEPARATOR can appear in string literals.
+info: |
+  11.8.4 String Literals
+
+  All code points may appear literally in a string literal except for the
+  closing quote code points, U+005C (REVERSE SOLIDUS), U+000D (CARRIAGE RETURN),
+  and U+000A (LINE FEED).
+---*/
+
+// U+2029 in strings; UTF8(0x2029) = 0xE2 0x80 0xA9
+assert.sameValue("
", "\u2029");
-- 
GitLab