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