summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/language/comments/single-line-html-close-unicode-separators.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/annexB/language/comments/single-line-html-close-unicode-separators.js')
-rw-r--r--js/src/tests/test262/annexB/language/comments/single-line-html-close-unicode-separators.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/js/src/tests/test262/annexB/language/comments/single-line-html-close-unicode-separators.js b/js/src/tests/test262/annexB/language/comments/single-line-html-close-unicode-separators.js
new file mode 100644
index 0000000000..8136a5db25
--- /dev/null
+++ b/js/src/tests/test262/annexB/language/comments/single-line-html-close-unicode-separators.js
@@ -0,0 +1,52 @@
+// |reftest| error:Test262Error
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-html-like-comments
+description: SingleLineHTMLCloseComment
+info: |
+ Comment ::
+ MultiLineComment
+ SingleLineComment
+ SingleLineHTMLOpenComment
+ SingleLineHTMLCloseComment
+ SingleLineDelimitedComment
+
+ SingleLineHTMLCloseComment ::
+ LineTerminatorSequenceHTMLCloseComment
+
+ HTMLCloseComment ::
+ WhiteSpaceSequence[opt] SingleLineDelimitedCommentSequence[opt] --> SingleLineCommentChars[opt]
+negative:
+ phase: runtime
+ type: Test262Error
+---*/
+
+var counter = 0;
+
+// DANGER WILL ROBINSON!
+//
+// There are UTF-8-encoded Unicode separators in the lines below. Some text
+// editors (notably including, in the experience of this test's author, the
+// GNOME Text Editor used to attempt to create this file) don't properly insert
+// and save both these characters. (It seemed to handle copy/pasting U+2028
+// LINE SEPARATOR from GNOME Character Map just fine, but U+2029 PARAGRAPH
+// SEPARATOR got mangled in the final saved file.) Be extremely careful editing
+// this file to not inadvertently break this test.
+
+counter
-->a U+2028 LINE SEPARATOR between "counter" and "-->" means this is all a comment
+counter += 1;
+
+counter
-->a U+2029 PARAGRAPH SEPARATOR between "counter" and "-->" means this is all a comment
+counter += 1;
+
+// Because this test concerns the interpretation of non-executable character
+// sequences within ECMAScript source code, special care must be taken to
+// ensure that executable code is evaluated as expected.
+//
+// Express the intended behavior by intentionally throwing an error; this
+// guarantees that test runners will only consider the test "passing" if
+// executable sequences are correctly interpreted as such.
+if (counter === 2) {
+ throw new Test262Error();
+}