diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /js/src/tests/test262/language/expressions/class/name.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/language/expressions/class/name.js')
-rw-r--r-- | js/src/tests/test262/language/expressions/class/name.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/class/name.js b/js/src/tests/test262/language/expressions/class/name.js new file mode 100644 index 0000000000..f3a3ae912f --- /dev/null +++ b/js/src/tests/test262/language/expressions/class/name.js @@ -0,0 +1,56 @@ +// Copyright (C) 2015 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-class-definitions-runtime-semantics-evaluation +description: Assignment of function `name` attribute +info: | + ClassExpression : class ClassTail + + 1. Let value be ? ClassDefinitionEvaluation of ClassTail with arguments + undefined and "". + ... + 4. Return value. + + ClassExpression : class BindingIdentifier ClassTail + + 1. Let className be StringValue of BindingIdentifier. + 2. Let value be ? ClassDefinitionEvaluation of ClassTail with arguments + className and className. + ... + 4. Return value. + + 14.6.13 Runtime Semantics: ClassDefinitionEvaluation + + ... + 12. Let constructorInfo be DefineMethod of constructor with arguments proto, + className as the optional name argument, and constructorParent. + ... + + 14.3.7 Runtime Semantics: DefineMethod + + ... + 7. Let closure be FunctionCreate(kind, UniqueFormalParameters, FunctionBody, + scope, name, prototype). + ... + +includes: [propertyHelper.js] +---*/ + +verifyProperty(class {}, "name", { + value: "", writable: false, enumerable: false, configurable: true +}); + +verifyProperty(class cls {}, "name", { + value: "cls", writable: false, enumerable: false, configurable: true +}); + +verifyProperty(class { constructor() {} }, "name", { + value: "", writable: false, enumerable: false, configurable: true +}); + +verifyProperty(class cls { constructor() {} }, "name", { + value: "cls", writable: false, enumerable: false, configurable: true +}); + +reportCompare(0, 0); |