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 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 assertThrows(function() { Reflect.getOwnPropertyDescriptor(target, b); }, | 533 assertThrows(function() { Reflect.getOwnPropertyDescriptor(target, b); }, |
534 "gaga"); | 534 "gaga"); |
535 })(); | 535 })(); |
536 | 536 |
537 | 537 |
538 // See reflect-get-own-property-descriptor.js for further tests. | 538 // See reflect-get-own-property-descriptor.js for further tests. |
539 | 539 |
540 | 540 |
541 | 541 |
542 //////////////////////////////////////////////////////////////////////////////// | 542 //////////////////////////////////////////////////////////////////////////////// |
| 543 // Reflect.ownKeys |
| 544 |
| 545 |
| 546 (function testReflectOwnKeysArity() { |
| 547 assertEquals(1, Reflect.ownKeys.length); |
| 548 })(); |
| 549 |
| 550 |
| 551 (function testReflectOwnKeysOnNonObject() { |
| 552 assertThrows(function() { Reflect.ownKeys(); }, TypeError); |
| 553 assertThrows(function() { Reflect.ownKeys(42); }, TypeError); |
| 554 assertThrows(function() { Reflect.ownKeys(null); }, TypeError); |
| 555 })(); |
| 556 |
| 557 |
| 558 (function testReflectOwnKeysOnObject(){ |
| 559 assertEquals(["z", "y", "x"], Reflect.ownKeys({z: 3, y: 2, x: 1})); |
| 560 assertEquals(["length"], Reflect.ownKeys([])); |
| 561 |
| 562 var s1 = Symbol("foo"); |
| 563 var s2 = Symbol("bar"); |
| 564 var obj = { [s1]: 0, "bla": 0, 42: 0, "0": 0, |
| 565 [s2]: 0, "-1": 0, "88": 0, "aaa": 0 }; |
| 566 assertEquals(["0", "42", "88", "bla", "-1", "aaa", s1, s2], |
| 567 Reflect.ownKeys(obj)); |
| 568 })(); |
| 569 |
| 570 |
| 571 // See reflect-own-keys.js for further tests. |
| 572 |
| 573 |
| 574 |
| 575 //////////////////////////////////////////////////////////////////////////////// |
543 // Reflect.preventExtensions | 576 // Reflect.preventExtensions |
544 | 577 |
545 | 578 |
546 (function testReflectPreventExtensionsArity() { | 579 (function testReflectPreventExtensionsArity() { |
547 assertEquals(1, Reflect.preventExtensions.length); | 580 assertEquals(1, Reflect.preventExtensions.length); |
548 })(); | 581 })(); |
549 | 582 |
550 | 583 |
551 (function testReflectPreventExtensionsOnNonObject() { | 584 (function testReflectPreventExtensionsOnNonObject() { |
552 assertThrows(function() { Reflect.preventExtensions(); }, TypeError); | 585 assertThrows(function() { Reflect.preventExtensions(); }, TypeError); |
553 assertThrows(function() { Reflect.preventExtensions(42); }, TypeError); | 586 assertThrows(function() { Reflect.preventExtensions(42); }, TypeError); |
554 assertThrows(function() { Reflect.preventExtensions(null); }, TypeError); | 587 assertThrows(function() { Reflect.preventExtensions(null); }, TypeError); |
555 })(); | 588 })(); |
556 | 589 |
557 | 590 |
558 // See reflect-prevent-extensions.js for further tests. | 591 // See reflect-prevent-extensions.js for further tests. |
559 | 592 |
560 // TODO(neis): Need proxies to test the situation where | 593 // TODO(neis): Need proxies to test the situation where |
561 // [[preventExtensions]] returns false. | 594 // [[preventExtensions]] returns false. |
OLD | NEW |