diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js b/js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js new file mode 100644 index 0000000000..46a21ed5f1 --- /dev/null +++ b/js/src/tests/test262/built-ins/Function/StrictFunction_reservedwords_with.js @@ -0,0 +1,23 @@ +// Copyright (C) 2020 Xing Qu. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-createdynamicfunction +description: Strictfunction shouldn't have the reserved word "with" +info: | + CreateDynamicFunction ( constructor, newTarget, kind, args ) + + ... + 20 Perform the following substeps in an implementation-dependent order, possibly interleaving parsing and error detection: + ... + c. Let strict be ContainsUseStrict of body. + d. If any static semantics errors are detected for parameters or body, throw a SyntaxError exception. + If strict is true, the Early Error rules for UniqueFormalParameters:FormalParameters are applied. + ... + ... +---*/ + +assert.throws(SyntaxError, function() { + new Function("'use strict'; with ({}) {}"); +}, '`new Function("\'use strict\'; with ({}) {}")` throws a SyntaxError exception'); + +reportCompare(0, 0); |