mirror of
https://github.com/tc39/test262.git
synced 2025-05-08 08:50:30 +02:00
The values defined by the referenced files are not used by these tests. This makes their inclusion superfluous, which needlessly increases the time to execute the tests and may confuse some readers.
53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
// Copyright (C) 2017 Valerie Young. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
description: class fields forbid PropName 'constructor' (no early error -- PropName of ComputedPropertyName not forbidden value)
|
|
esid: sec-class-definitions-static-semantics-early-errors
|
|
features: [class, class-fields-public]
|
|
info: |
|
|
Static Semantics: PropName
|
|
...
|
|
ComputedPropertyName : [ AssignmentExpression ]
|
|
Return empty.
|
|
|
|
|
|
// This test file tests the following early error:
|
|
Static Semantics: Early Errors
|
|
|
|
ClassElement : FieldDefinition;
|
|
It is a Syntax Error if PropName of FieldDefinition is "constructor".
|
|
|
|
DefineField(receiver, fieldRecord)
|
|
|
|
...
|
|
8. If fieldName is a Private Name,
|
|
...
|
|
9. Else,
|
|
a. ...
|
|
b. Perform ? CreateDataPropertyOrThrow(receiver, fieldName, initValue).
|
|
|
|
CreateDataPropertyOrThrow ( O, P, V )
|
|
|
|
...
|
|
3. Let success be ? CreateDataProperty(O, P, V).
|
|
4. If success is false, throw a TypeError exception.
|
|
...
|
|
|
|
CreateDataProperty ( O, P, V )
|
|
|
|
...
|
|
3. Let newDesc be the PropertyDescriptor { [[Value]]: V, [[Writable]]: true, [[Enumerable]]: true,
|
|
[[Configurable]]: true }.
|
|
4. Return ? O.[[DefineOwnProperty]](P, newDesc).
|
|
---*/
|
|
|
|
var x = "constructor";
|
|
class C1 {
|
|
[x];
|
|
}
|
|
|
|
var c1 = new C1();
|
|
|
|
assert.sameValue(c1.hasOwnProperty("constructor"), true);
|
|
assert.sameValue(C1.hasOwnProperty("constructor"), false);
|