Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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-reflect | 5 // Flags: --harmony-reflect |
| 6 | 6 |
| 7 // TODO(neis): Test with proxies. | 7 // TODO(neis): Test with proxies. |
| 8 | 8 |
| 9 | 9 |
| 10 | 10 |
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 319 assertThrows(function() { Reflect.enumerate(42); }, TypeError); | 319 assertThrows(function() { Reflect.enumerate(42); }, TypeError); |
| 320 assertThrows(function() { Reflect.enumerate(null); }, TypeError); | 320 assertThrows(function() { Reflect.enumerate(null); }, TypeError); |
| 321 })(); | 321 })(); |
| 322 | 322 |
| 323 | 323 |
| 324 // See reflect-enumerate*.js for further tests. | 324 // See reflect-enumerate*.js for further tests. |
| 325 | 325 |
| 326 | 326 |
| 327 | 327 |
| 328 //////////////////////////////////////////////////////////////////////////////// | 328 //////////////////////////////////////////////////////////////////////////////// |
| 329 // Reflect.getOwnPropertyDescriptor | |
| 330 | |
| 331 | |
| 332 (function testReflectGetOwnPropertyDescriptorArity() { | |
| 333 assertEquals(2, Reflect.getOwnPropertyDescriptor.length); | |
| 334 })(); | |
| 335 | |
| 336 | |
| 337 (function testReflectGetOwnPropertyDescriptorOnNonObject() { | |
| 338 assertThrows(function() { Reflect.getOwnPropertyDescriptor(); }, TypeError); | |
| 339 assertThrows(function() { Reflect.getOwnPropertyDescriptor(42); }, | |
| 340 TypeError); | |
| 341 assertThrows(function() { Reflect.getOwnPropertyDescriptor(null); }, | |
| 342 TypeError); | |
| 343 })(); | |
| 344 | |
| 345 | |
| 346 (function testReflectGetOwnPropertyDescriptorKeyConversion() { | |
| 347 var tgt = {bla: 42}; | |
|
Jakob Kummerow
2015/10/26 13:58:26
nit: s/tgt/target/
Jakob Kummerow
2015/10/29 18:06:02
Forgot this?
neis
2015/10/30 08:41:30
Done.
| |
| 348 var a = { [Symbol.toPrimitive]: function() { return "bla" } }; | |
| 349 var b = { [Symbol.toPrimitive]: function() { throw "gaga" } }; | |
| 350 assertEquals(42, Reflect.getOwnPropertyDescriptor(tgt, a).value); | |
| 351 assertThrows(function() { Reflect.getOwnPropertyDescriptor(tgt, b); }, | |
| 352 "gaga"); | |
| 353 })(); | |
| 354 | |
| 355 | |
| 356 // See reflect-get-own-property-descriptor.js for further tests. | |
|
Jakob Kummerow
2015/10/26 13:58:26
Any particular reason why the tests are split acro
| |
| 357 | |
| 358 | |
| 359 | |
| 360 //////////////////////////////////////////////////////////////////////////////// | |
| 329 // Reflect.preventExtensions | 361 // Reflect.preventExtensions |
| 330 | 362 |
| 331 | 363 |
| 332 (function testReflectPreventExtensionsArity() { | 364 (function testReflectPreventExtensionsArity() { |
| 333 assertEquals(1, Reflect.preventExtensions.length); | 365 assertEquals(1, Reflect.preventExtensions.length); |
| 334 })(); | 366 })(); |
| 335 | 367 |
| 336 | 368 |
| 337 (function testReflectPreventExtensionsOnNonObject() { | 369 (function testReflectPreventExtensionsOnNonObject() { |
| 338 assertThrows(function() { Reflect.preventExtensions(); }, TypeError); | 370 assertThrows(function() { Reflect.preventExtensions(); }, TypeError); |
| 339 assertThrows(function() { Reflect.preventExtensions(42); }, TypeError); | 371 assertThrows(function() { Reflect.preventExtensions(42); }, TypeError); |
| 340 assertThrows(function() { Reflect.preventExtensions(null); }, TypeError); | 372 assertThrows(function() { Reflect.preventExtensions(null); }, TypeError); |
| 341 })(); | 373 })(); |
| 342 | 374 |
| 343 | 375 |
| 344 // See reflect-prevent-extensions.js for further tests. | 376 // See reflect-prevent-extensions.js for further tests. |
| 345 | 377 |
| 346 // TODO(neis): Need proxies to test the situation where | 378 // TODO(neis): Need proxies to test the situation where |
| 347 // [[preventExtensions]] returns false. | 379 // [[preventExtensions]] returns false. |
| OLD | NEW |