Fix max length check in ArrayPrototype.js' concatSlowPath().
[WebKit-https.git] / JSTests / stress / array-prototype-concat-of-long-spliced-arrays.js
1 function shouldEqual(actual, expected) {
2     if (actual != expected) {
3         throw "ERROR: expect " + expected + ", actual " + actual;
4     }
5 }
6
7 function test() {
8     var exception;
9     try {
10         var a = [];
11         a.length = 0xffffff00;
12
13         var b = a.splice(0, 0x100000); // Undecided array
14
15         var args = [];
16         args.length = 4094;
17         args.fill(b);
18
19         var q = [];
20         q.length = 0x1000;
21         q.fill(7);
22
23         var c = a.splice(0, 0xfffef); //Shorter undecided array
24
25         args[4094] = c;
26         args[4095] = q;
27
28         b.concat.apply(b, args);
29     } catch (e) {
30         exception = e;
31     }
32
33     shouldEqual(exception, "RangeError: Length exceeded the maximum array length");
34 }
35
36 test();