Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / js / script-tests / unshift-multi.js
bloba47a709f9f98505b93e82eae465547d0844238e7
1 description(
2 'Test for regression against <a href="https://bugs.webkit.org/show_bug.cgi?id=43401">Calling unshift passing more than 1 argument causes array corruption. It also tests some other unshift combinations.'
3 );
6 function unshift1(n) {
7 var anArray = [];
8 for (var i = 0; i < n; i++) {
9 anArray.unshift('a');
12 return anArray;
15 function unshift2(n) {
16 var anArray = [];
17 for (var i = 0; i < n; i++) {
18 anArray.unshift('a', 'b');
21 return anArray;
24 function unshift5(n) {
25 var anArray = [];
26 for (var i = 0; i < n; i++) {
27 anArray.unshift('a', 'b', 'c', 'd', 'e');
30 return anArray;
34 shouldBe('unshift1(1)', '["a"]');
35 shouldBe('unshift1(2)', '["a", "a"]');
36 shouldBe('unshift1(4)', '["a", "a", "a", "a"]');
37 shouldBe('unshift2(1)', '["a", "b"]');
38 shouldBe('unshift2(2)', '["a", "b", "a", "b"]');
39 shouldBe('unshift2(4)', '["a", "b", "a", "b", "a", "b", "a", "b"]');
40 shouldBe('unshift2(10)', '["a", "b", "a", "b", "a", "b", "a", "b", "a", "b", "a", "b", "a", "b", "a", "b", "a", "b", "a", "b"]');
41 shouldBe('unshift5(1)', '["a", "b", "c", "d", "e"]');
42 shouldBe('unshift5(2)', '["a", "b", "c", "d", "e", "a", "b", "c", "d", "e"]');
43 shouldBe('unshift5(6)', '["a", "b", "c", "d", "e", "a", "b", "c", "d", "e", "a", "b", "c", "d", "e", "a", "b", "c", "d", "e", "a", "b", "c", "d", "e", "a", "b", "c", "d", "e"]');