summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-params.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-params.js')
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-params.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-params.js b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-params.js
new file mode 100644
index 0000000000..73fea90809
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-params.js
@@ -0,0 +1,27 @@
+// Copyright (C) 2019 Leo Balter. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-createdynamicfunction
+description: >
+ Function parses the parameters text before forming the sourceText with the proper line feed.
+info: |
+ The HTMLCloseComment requires a preceding line terminator.
+
+ Runtime Semantics: CreateDynamicFunction(constructor, newTarget, kind, args)
+ ...
+ 16. Set bodyText to ? ToString(bodyText).
+ 17. Let parameters be the result of parsing P, interpreted as UTF-16 encoded Unicode text as
+ described in 6.1.4, using parameterGoal as the goal symbol. Throw a SyntaxError exception if the
+ parse fails.
+ 18. Let body be the result of parsing bodyText, interpreted as UTF-16 encoded Unicode text as
+ described in 6.1.4, using goal as the goal symbol. Throw a SyntaxError exception if the parse
+ fails.
+ ...
+ 41. Let sourceText be the string-concatenation of prefix, " anonymous(", P, 0x000A (LINE FEED),
+ ") {", 0x000A (LINE FEED), bodyText, 0x000A (LINE FEED), and "}".
+---*/
+
+assert.throws(SyntaxError, () => Function("-->", ""));
+
+reportCompare(0, 0);