mirror of https://github.com/tc39/test262.git
Adding test case for super access from class field defined as arrow function
This commit is contained in:
parent
96f1e2713b
commit
f81c2f5422
|
@ -0,0 +1,35 @@
|
||||||
|
// Copyright (C) 2021 Caio Lima (Igalia SL). All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
desc: super inside arrow functions on field initializer resolves to class' super
|
||||||
|
info: |
|
||||||
|
ClassElementName :
|
||||||
|
PropertyName
|
||||||
|
PrivateName
|
||||||
|
|
||||||
|
SuperProperty:
|
||||||
|
super[Expression]
|
||||||
|
super.IdentifierName
|
||||||
|
|
||||||
|
template: default
|
||||||
|
features: [class-fields-public, class-static-fields-public]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
//- elements
|
||||||
|
func = () => {
|
||||||
|
super.prop = 'test262';
|
||||||
|
}
|
||||||
|
|
||||||
|
static staticFunc = () => {
|
||||||
|
super.staticProp = 'static test262';
|
||||||
|
}
|
||||||
|
//- assertions
|
||||||
|
|
||||||
|
let c = new C();
|
||||||
|
c.func();
|
||||||
|
assert.sameValue(c.prop, 'test262');
|
||||||
|
|
||||||
|
C.staticFunc();
|
||||||
|
assert.sameValue(C.staticProp, 'static test262');
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
// This file was procedurally generated from the following sources:
|
||||||
|
// - src/class-elements/super-access-from-arrow-func-on-field.case
|
||||||
|
// - src/class-elements/default/cls-expr.template
|
||||||
|
/*---
|
||||||
|
description: super inside arrow functions on field initializer resolves to class' super (field definitions in a class expression)
|
||||||
|
esid: prod-FieldDefinition
|
||||||
|
features: [class-fields-public, class-static-fields-public, class]
|
||||||
|
flags: [generated]
|
||||||
|
info: |
|
||||||
|
ClassElementName :
|
||||||
|
PropertyName
|
||||||
|
PrivateName
|
||||||
|
|
||||||
|
SuperProperty:
|
||||||
|
super[Expression]
|
||||||
|
super.IdentifierName
|
||||||
|
|
||||||
|
---*/
|
||||||
|
|
||||||
|
|
||||||
|
var C = class {
|
||||||
|
func = () => {
|
||||||
|
super.prop = 'test262';
|
||||||
|
}
|
||||||
|
|
||||||
|
static staticFunc = () => {
|
||||||
|
super.staticProp = 'static test262';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let c = new C();
|
||||||
|
c.func();
|
||||||
|
assert.sameValue(c.prop, 'test262');
|
||||||
|
|
||||||
|
C.staticFunc();
|
||||||
|
assert.sameValue(C.staticProp, 'static test262');
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
// This file was procedurally generated from the following sources:
|
||||||
|
// - src/class-elements/super-access-from-arrow-func-on-field.case
|
||||||
|
// - src/class-elements/default/cls-decl.template
|
||||||
|
/*---
|
||||||
|
description: super inside arrow functions on field initializer resolves to class' super (field definitions in a class declaration)
|
||||||
|
esid: prod-FieldDefinition
|
||||||
|
features: [class-fields-public, class-static-fields-public, class]
|
||||||
|
flags: [generated]
|
||||||
|
info: |
|
||||||
|
ClassElementName :
|
||||||
|
PropertyName
|
||||||
|
PrivateName
|
||||||
|
|
||||||
|
SuperProperty:
|
||||||
|
super[Expression]
|
||||||
|
super.IdentifierName
|
||||||
|
|
||||||
|
---*/
|
||||||
|
|
||||||
|
|
||||||
|
class C {
|
||||||
|
func = () => {
|
||||||
|
super.prop = 'test262';
|
||||||
|
}
|
||||||
|
|
||||||
|
static staticFunc = () => {
|
||||||
|
super.staticProp = 'static test262';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let c = new C();
|
||||||
|
c.func();
|
||||||
|
assert.sameValue(c.prop, 'test262');
|
||||||
|
|
||||||
|
C.staticFunc();
|
||||||
|
assert.sameValue(C.staticProp, 'static test262');
|
||||||
|
|
Loading…
Reference in New Issue