diff options
Diffstat (limited to 'js/src/tests/test262/annexB/built-ins/Function')
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 |