Bug 938406 - DataStoreService.jsm must emit 'datastore-first-revision-created' also...
[gecko.git] / js / src / jit-test / tests / arrays / slice.js
blobad4f66f63311302fa77dd9bb3139b37e04c24d7e
1 let invoked = false;
2 Object.defineProperty(Array.prototype, '0', {set: function () {
3     invoked = true;
4 }});
6 let result = [1, 2, 3].slice(1);
7 assertEq(invoked, false);
9 let proxy = new Proxy({}, {
10     get: function (target, name, proxy) {
11         switch (name) {
12           case "length":
13             return 2;
14           case "0":
15             return 15;
16           case "1":
17             // Should not invoke [[Get]] for this hole.
18           default:
19             assertEq(false, true);
20         }
21     },
22     has: function (target, name) {
23         switch (name) {
24           case "0":
25             return true;
26           case "1":
27             return false;
28           default:
29             assertEq(false, true);
30         }
31     }
33 result = Array.prototype.slice.call(proxy, 0);
34 assertEq(result.length, 2);
35 assertEq(0 in result, true);
36 assertEq(1 in result, false);
37 assertEq(result[0], 15);