| description( |
| "Tests the code path of typedArray.set that bottoms out in memmove." |
| ); |
| |
| function foo(n) { |
| var array = new Int32Array(n + 1); |
| for (var i = 0; i < n; ++i) |
| array[i] = 42 + i; |
| array.set(array.subarray(0, n), 1); |
| return array; |
| } |
| |
| function bar(n) { |
| var array = new Int32Array(n + 1); |
| for (var i = 0; i < n; ++i) |
| array[i + 1] = 42 + i; |
| array.set(array.subarray(1, n + 1), 0); |
| return array; |
| } |
| |
| function arraysEqual(a, b) { |
| if (a.length != b.length) |
| return false; |
| } |
| |
| shouldBe("foo(10)", "[42,42,43,44,45,46,47,48,49,50,51]"); |
| shouldBe("bar(10)", "[42,43,44,45,46,47,48,49,50,51,51]"); |