inlinable-native-accessor-5.js (618B)
1 // Test calling an inlinable native accessor through a Get{Prop,Elem}Super operation. 2 3 class MySet extends Set { 4 get size() { 5 return super.size; 6 } 7 } 8 9 function testWithClass() { 10 var sets = [ 11 new MySet(), 12 new MySet([1, 2, 3, 4]), 13 ]; 14 for (var i = 0; i < 100; ++i) { 15 var set = sets[i & 1]; 16 assertEq(set.size, (i & 1) * 4); 17 } 18 } 19 testWithClass(); 20 21 function testWithReflect() { 22 var sets = [ 23 new Set(), 24 new Set([1, 2, 3, 4]), 25 ]; 26 for (var i = 0; i < 100; ++i) { 27 var set = sets[i & 1]; 28 assertEq(Reflect.get(Set.prototype, "size", set), (i & 1) * 4); 29 } 30 } 31 testWithReflect();