cpn-class-expr-computed-property-name-from-condition-expression-true.js (1237B)
1 // This file was procedurally generated from the following sources: 2 // - src/computed-property-names/computed-property-name-from-condition-expression-true.case 3 // - src/computed-property-names/evaluation/class-expression.template 4 /*--- 5 description: Computed property name from condition expression (ComputedPropertyName in ClassExpression) 6 esid: prod-ComputedPropertyName 7 features: [computed-property-names] 8 flags: [generated] 9 info: | 10 ClassExpression: 11 classBindingIdentifier opt ClassTail 12 13 ClassTail: 14 ClassHeritage opt { ClassBody opt } 15 16 ClassBody: 17 ClassElementList 18 19 ClassElementList: 20 ClassElement 21 22 ClassElement: 23 MethodDefinition 24 25 MethodDefinition: 26 PropertyName ... 27 get PropertyName ... 28 set PropertyName ... 29 30 PropertyName: 31 ComputedPropertyName 32 33 ComputedPropertyName: 34 [ AssignmentExpression ] 35 ---*/ 36 37 38 let C = class { 39 [true ? 1 : 2]() { 40 return 2; 41 } 42 static [true ? 1 : 2]() { 43 return 2; 44 } 45 }; 46 47 let c = new C(); 48 49 assert.sameValue( 50 c[true ? 1 : 2](), 51 2 52 ); 53 assert.sameValue( 54 C[true ? 1 : 2](), 55 2 56 ); 57 assert.sameValue( 58 c[String(true ? 1 : 2)](), 59 2 60 ); 61 assert.sameValue( 62 C[String(true ? 1 : 2)](), 63 2 64 ); 65 66 reportCompare(0, 0);