diff options
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.js | 90 |
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(); +} |