OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --harmony-classes --harmony-sloppy | 5 // Flags: --harmony-classes --harmony-sloppy |
6 | 6 |
7 (function TestBasics() { | 7 (function TestBasics() { |
8 var C = class C {} | 8 var C = class C {} |
9 assertEquals(typeof C, 'function'); | 9 assertEquals(typeof C, 'function'); |
10 assertEquals(C.__proto__, Function.prototype); | 10 assertEquals(C.__proto__, Function.prototype); |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 assertEquals('class D { constructor() { 42; } }', D.toString()); | 179 assertEquals('class D { constructor() { 42; } }', D.toString()); |
180 | 180 |
181 class E { x() { 42; } } | 181 class E { x() { 42; } } |
182 assertEquals('class E { x() { 42; } }', E.toString()); | 182 assertEquals('class E { x() { 42; } }', E.toString()); |
183 })(); | 183 })(); |
184 | 184 |
185 | 185 |
186 function assertMethodDescriptor(object, name) { | 186 function assertMethodDescriptor(object, name) { |
187 var descr = Object.getOwnPropertyDescriptor(object, name); | 187 var descr = Object.getOwnPropertyDescriptor(object, name); |
188 assertTrue(descr.configurable); | 188 assertTrue(descr.configurable); |
189 assertTrue(descr.enumerable); | 189 assertFalse(descr.enumerable); |
190 assertTrue(descr.writable); | 190 assertTrue(descr.writable); |
191 assertEquals('function', typeof descr.value); | 191 assertEquals('function', typeof descr.value); |
192 assertFalse('prototype' in descr.value); | 192 assertFalse('prototype' in descr.value); |
193 } | 193 } |
194 | 194 |
195 | 195 |
196 function assertGetterDescriptor(object, name) { | 196 function assertGetterDescriptor(object, name) { |
197 var descr = Object.getOwnPropertyDescriptor(object, name); | 197 var descr = Object.getOwnPropertyDescriptor(object, name); |
198 assertTrue(descr.configurable); | 198 assertTrue(descr.configurable); |
199 assertTrue(descr.enumerable); | 199 assertFalse(descr.enumerable); |
200 assertEquals('function', typeof descr.get); | 200 assertEquals('function', typeof descr.get); |
201 assertEquals(undefined, descr.set); | 201 assertEquals(undefined, descr.set); |
202 } | 202 } |
203 | 203 |
204 | 204 |
205 function assertSetterDescriptor(object, name) { | 205 function assertSetterDescriptor(object, name) { |
206 var descr = Object.getOwnPropertyDescriptor(object, name); | 206 var descr = Object.getOwnPropertyDescriptor(object, name); |
207 assertTrue(descr.configurable); | 207 assertTrue(descr.configurable); |
208 assertTrue(descr.enumerable); | 208 assertFalse(descr.enumerable); |
209 assertEquals(undefined, descr.get); | 209 assertEquals(undefined, descr.get); |
210 assertEquals('function', typeof descr.set); | 210 assertEquals('function', typeof descr.set); |
211 } | 211 } |
212 | 212 |
213 | 213 |
214 function assertAccessorDescriptor(object, name) { | 214 function assertAccessorDescriptor(object, name) { |
215 var descr = Object.getOwnPropertyDescriptor(object, name); | 215 var descr = Object.getOwnPropertyDescriptor(object, name); |
216 assertTrue(descr.configurable); | 216 assertTrue(descr.configurable); |
217 assertTrue(descr.enumerable); | 217 assertFalse(descr.enumerable); |
218 assertEquals('function', typeof descr.get); | 218 assertEquals('function', typeof descr.get); |
219 assertEquals('function', typeof descr.set); | 219 assertEquals('function', typeof descr.set); |
220 } | 220 } |
221 | 221 |
222 | 222 |
223 (function TestMethods() { | 223 (function TestMethods() { |
224 class C { | 224 class C { |
225 method() { return 1; } | 225 method() { return 1; } |
226 static staticMethod() { return 2; } | 226 static staticMethod() { return 2; } |
227 method2() { return 3; } | 227 method2() { return 3; } |
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
870 } | 870 } |
871 }; | 871 }; |
872 new C3(); | 872 new C3(); |
873 | 873 |
874 class C4 extends Object { | 874 class C4 extends Object { |
875 constructor() { | 875 constructor() { |
876 super(new super()); | 876 super(new super()); |
877 } | 877 } |
878 }; new C4(); | 878 }; new C4(); |
879 }()); | 879 }()); |
OLD | NEW |