summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/built-ins/Function
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/annexB/built-ins/Function')
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/browser.js0
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-body.js22
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-params.js23
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-body.js22
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-params.js23
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js24
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-params.js27
-rw-r--r--js/src/tests/test262/annexB/built-ins/Function/shell.js0
8 files changed, 141 insertions, 0 deletions
diff --git a/js/src/tests/test262/annexB/built-ins/Function/browser.js b/js/src/tests/test262/annexB/built-ins/Function/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/browser.js
diff --git a/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-body.js b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-body.js
new file mode 100644
index 0000000000..49a409b8a6
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-body.js
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-createdynamicfunction
+description: >
+ Create a Function with the function body being a html close comment.
+info: |
+ 19.2.1.1.1 Runtime Semantics: CreateDynamicFunction(constructor, newTarget, kind, args)
+ ...
+ 7. If kind is "normal", then
+ a. Let goal be the grammar symbol FunctionBody[~Yield, ~Await].
+ ...
+ 11. 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.
+ ...
+---*/
+
+Function("\n-->");
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-params.js b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-params.js
new file mode 100644
index 0000000000..c97834d6f4
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-close-comment-params.js
@@ -0,0 +1,23 @@
+// Copyright (C) 2017 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-createdynamicfunction
+description: >
+ Create a Function with the function parameters being a html close comment.
+info: |
+ 19.2.1.1.1 Runtime Semantics: CreateDynamicFunction(constructor, newTarget, kind, args)
+ ...
+ 7. If kind is "normal", then
+ ...
+ b. Let parameterGoal be the grammar symbol FormalParameters[~Yield, ~Await].
+ ...
+ 10. 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.
+ ...
+---*/
+
+Function("\n-->", "");
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-body.js b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-body.js
new file mode 100644
index 0000000000..3dc973128b
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-body.js
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-createdynamicfunction
+description: >
+ Create a Function with the function body being a html open comment.
+info: |
+ 19.2.1.1.1 Runtime Semantics: CreateDynamicFunction(constructor, newTarget, kind, args)
+ ...
+ 7. If kind is "normal", then
+ a. Let goal be the grammar symbol FunctionBody[~Yield, ~Await].
+ ...
+ 11. 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.
+ ...
+---*/
+
+Function("<!--");
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-params.js b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-params.js
new file mode 100644
index 0000000000..ea22bf96b6
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-html-open-comment-params.js
@@ -0,0 +1,23 @@
+// Copyright (C) 2017 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-createdynamicfunction
+description: >
+ Create a Function with the function parameters being a html open comment.
+info: |
+ 19.2.1.1.1 Runtime Semantics: CreateDynamicFunction(constructor, newTarget, kind, args)
+ ...
+ 7. If kind is "normal", then
+ ...
+ b. Let parameterGoal be the grammar symbol FormalParameters[~Yield, ~Await].
+ ...
+ 10. 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.
+ ...
+---*/
+
+Function("<!--", "");
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js
new file mode 100644
index 0000000000..36e6a5bb25
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js
@@ -0,0 +1,24 @@
+// 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 body is wrapped with new lines before being parsed
+info: |
+ The HTMLCloseComment requires a preceding line terminator.
+
+ Runtime Semantics: CreateDynamicFunction(constructor, newTarget, kind, args)
+ ...
+ Set bodyText to ? ToString(bodyText).
+ 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.
+ 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.
+---*/
+
+Function("-->");
+
+reportCompare(0, 0);
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);
diff --git a/js/src/tests/test262/annexB/built-ins/Function/shell.js b/js/src/tests/test262/annexB/built-ins/Function/shell.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/Function/shell.js