mirror of https://github.com/tc39/test262.git
Fix tests for #constructor
This commit is contained in:
parent
45a31876e7
commit
e25e53c0a7
|
@ -0,0 +1,40 @@
|
||||||
|
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: "#constructor is a valid property name for a public field"
|
||||||
|
esid: sec-class-definitions-static-semantics-early-errors
|
||||||
|
features: [class, class-fields-public]
|
||||||
|
info: |
|
||||||
|
ClassElementName : PrivateName;
|
||||||
|
|
||||||
|
It is a Syntax Error if StringValue of PrivateName is "#constructor".
|
||||||
|
includes: [propertyHelper.js]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
class C1 {
|
||||||
|
["#constructor"];
|
||||||
|
}
|
||||||
|
|
||||||
|
var c1 = new C1();
|
||||||
|
|
||||||
|
assert.sameValue(Object.prototype.hasOwnProperty.call(C1, '#constructor'), false);
|
||||||
|
verifyProperty(c1, '#constructor', {
|
||||||
|
value: undefined,
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
writable: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
class C2 {
|
||||||
|
["#constructor"] = 42;
|
||||||
|
}
|
||||||
|
|
||||||
|
var c2 = new C2();
|
||||||
|
|
||||||
|
assert.sameValue(Object.prototype.hasOwnProperty.call(C2, '#constructor'), false);
|
||||||
|
verifyProperty(c2, '#constructor', {
|
||||||
|
value: 42,
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
writable: true,
|
||||||
|
});
|
|
@ -1,22 +0,0 @@
|
||||||
// Copyright (C) 2017 Valerie Young. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
/*---
|
|
||||||
description: static class fields forbid PropName 'prototype' (early error -- PropName of StringLiteral is forbidden value)
|
|
||||||
esid: sec-class-definitions-static-semantics-early-errors
|
|
||||||
features: [class, class-fields-private]
|
|
||||||
negative:
|
|
||||||
phase: parse
|
|
||||||
type: SyntaxError
|
|
||||||
info: |
|
|
||||||
ClassElementName : PrivateName;
|
|
||||||
|
|
||||||
It is a Syntax Error if StringValue of PrivateName is "#constructor".
|
|
||||||
|
|
||||||
---*/
|
|
||||||
|
|
||||||
|
|
||||||
throw "Test262: This statement should not be evaluated.";
|
|
||||||
|
|
||||||
class C {
|
|
||||||
["#constructor"];
|
|
||||||
}
|
|
Loading…
Reference in New Issue