diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Function/private-identifiers-not-empty.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Function/private-identifiers-not-empty.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Function/private-identifiers-not-empty.js b/js/src/tests/test262/built-ins/Function/private-identifiers-not-empty.js new file mode 100644 index 0000000000..49196c9e3d --- /dev/null +++ b/js/src/tests/test262/built-ins/Function/private-identifiers-not-empty.js @@ -0,0 +1,23 @@ +// |reftest| shell-option(--enable-private-fields) skip-if(!xulRuntime.shell) -- requires shell-options +// Copyright (C) 2019 Caio Lima (Igalia SL). All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-createdynamicfunction +description: CreateDynamicFunction throws SyntaxError if there is some invalid private identifier on its body +info: | + CreateDynamicFunction(constructor, newTarget, kind, args) + ... + 29. Let privateIdentifiers be an empty List. + 30. If AllPrivateIdentifiersValid of body with the argument privateIdentifiers is false, throw a SyntaxError exception. + 31. If AllPrivateIdentifiersValid of parameters with the argument privateIdentifiers is false, throw a SyntaxError exception. + ... +features: [class-fields-private] +---*/ + +assert.throws(SyntaxError, function() { + let o = {}; + new Function("o.#f"); +}, 'It should be a SyntaxError if AllPrivateIdentifiersValid returns false to dynamic function body'); + + +reportCompare(0, 0); |