[JSC] Optimize Array#lastIndexOf
[WebKit-https.git] / JSTests / stress / array-lastindexof-array-prototype-trap.js
1 function shouldBe(actual, expected) {
2     if (actual !== expected)
3         throw new Error('bad value: ' + actual);
4 }
5
6 class AncestorArray extends Object {
7     get 2() {
8         this.called = true;
9         return 42;
10     }
11 }
12
13 Array.prototype.__proto__ = AncestorArray.prototype;
14
15 {
16     let array = [];
17     array.length = 42;
18     shouldBe(array.lastIndexOf(42), 2);
19     shouldBe(array.called, true);
20 }
21 {
22     let array = [20, 20];
23     array.length = 42;
24     shouldBe(array.lastIndexOf(42), 2);
25     shouldBe(array.called, true);
26 }
27 {
28     let array = ["Hello"];
29     array.length = 42;
30     shouldBe(array.lastIndexOf(42), 2);
31     shouldBe(array.called, true);
32 }
33 {
34     let array = [42.195];
35     array.length = 42;
36     shouldBe(array.lastIndexOf(42), 2);
37     shouldBe(array.called, true);
38 }
39 {
40     let array = ["Hello"];
41     array.length = 42;
42     ensureArrayStorage(array);
43     shouldBe(array.lastIndexOf(42), 2);
44     shouldBe(array.called, true);
45 }