summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/language/comments/multi-line-html-close.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/tests/test262/annexB/language/comments/multi-line-html-close.js
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/annexB/language/comments/multi-line-html-close.js')
-rw-r--r--js/src/tests/test262/annexB/language/comments/multi-line-html-close.js90
1 files changed, 90 insertions, 0 deletions
diff --git a/js/src/tests/test262/annexB/language/comments/multi-line-html-close.js b/js/src/tests/test262/annexB/language/comments/multi-line-html-close.js
new file mode 100644
index 0000000000..5f5046bfe7
--- /dev/null
+++ b/js/src/tests/test262/annexB/language/comments/multi-line-html-close.js
@@ -0,0 +1,90 @@
+// |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: Optional HTMLCloseComment following MultiLineComment
+info: |
+ Comment ::
+ MultiLineComment
+ SingleLineComment
+ SingleLineHTMLOpenComment
+ SingleLineHTMLCloseComment
+ SingleLineDelimitedComment
+
+ MultiLineComment ::
+ /* FirstCommentLine[opt] LineTerminator MultiLineCommentChars[opt] * / HTMLCloseComment[opt]
+
+ HTMLCloseComment ::
+ WhiteSpaceSequence[opt] SingleLineDelimitedCommentSequence[opt] --> SingleLineCommentChars[opt]
+negative:
+ phase: runtime
+ type: Test262Error
+---*/
+
+var counter = 0;
+/*
+*/-->
+counter += 1;
+
+/*
+*/-->the comment extends to these characters
+counter += 1;
+
+/* optional FirstCommentLine
+*/-->the comment extends to these characters
+counter += 1;
+
+/*
+optional
+MultiLineCommentChars */-->the comment extends to these characters
+counter += 1;
+
+/*
+*/ /* optional SingleLineDelimitedCommentSequence */-->the comment extends to these characters
+counter += 1;
+
+/*
+*/ /**/ /* second optional SingleLineDelimitedCommentSequence */-->the comment extends to these characters
+counter += 1;
+
+// The V8 engine exhibited a bug where HTMLCloseComment was not recognized
+// within MultiLineComment in cases where MultiLineComment was not the first
+// token on the line of source text. The following tests demonstrate the same
+// productions listed above with the addition of such a leading token.
+
+0/*
+*/-->
+counter += 1;
+
+0/*
+*/-->the comment extends to these characters
+counter += 1;
+
+0/* optional FirstCommentLine
+*/-->the comment extends to these characters
+counter += 1;
+
+0/*
+optional
+MultiLineCommentChars */-->the comment extends to these characters
+counter += 1;
+
+0/*
+*/ /* optional SingleLineDelimitedCommentSequence */-->the comment extends to these characters
+counter += 1;
+
+0/*
+*/ /**/ /* second optional SingleLineDelimitedCommentSequence */-->the comment extends to these characters
+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 === 12) {
+ throw new Test262Error();
+}