diff options
Diffstat (limited to 'js/src/tests/test262/language/expressions/class/elements/class-name-static-initializer-anonymous.js')
-rw-r--r-- | js/src/tests/test262/language/expressions/class/elements/class-name-static-initializer-anonymous.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/class/elements/class-name-static-initializer-anonymous.js b/js/src/tests/test262/language/expressions/class/elements/class-name-static-initializer-anonymous.js new file mode 100644 index 0000000000..33c989b567 --- /dev/null +++ b/js/src/tests/test262/language/expressions/class/elements/class-name-static-initializer-anonymous.js @@ -0,0 +1,28 @@ +// Copyright 2019 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-runtime-semantics-classdefinitionevaluation +description: > + The inferred class-name is present when executing static field initializers of anonymous class expressions. +info: | + 14.6.13 Runtime Semantics: ClassDefinitionEvaluation + + [...] + 17. Perform MakeClassConstructor(F). + 18. If className is not undefined, then + a. Perform SetFunctionName(F, className). + [...] + +features: [class-static-fields-public] +---*/ + +var className; + +var C = class { + static f = (className = this.name); +} + +assert.sameValue(className, "C"); + +reportCompare(0, 0); |