| // vim: set ts=8 sts=4 et sw=4 tw=99: |
| |
| function fillDense(a) { |
| } |
| |
| function testDenseUKeyUArray(a, key) { |
| a.push(function () { return this[3]; }); |
| a.push(function () { return this[4]; }); |
| a.push(function() { return this[5]; }); |
| a.push(20); |
| a.push("hi"); |
| a.push(500); |
| assertEq(a[key](), 20); |
| assertEq(a[key + 1](), "hi"); |
| assertEq(a[key + 2](), 500); |
| } |
| |
| function testDenseVKeyUArray(a) { |
| a.push(function () { return this[3]; }); |
| a.push(function () { return this[4]; }); |
| a.push(function() { return this[5]; }); |
| a.push(20); |
| a.push("hi"); |
| a.push(500); |
| var key = a.length & 1; |
| assertEq(a[key](), 20); |
| assertEq(a[(key + 1) & 3](), "hi"); |
| assertEq(a[(key + 2) & 3](), 500); |
| } |
| |
| function testDenseKKeyUArray(a, key) { |
| a.push(function () { return this[3]; }); |
| a.push(function () { return this[4]; }); |
| a.push(function() { return this[5]; }); |
| a.push(20); |
| a.push("hi"); |
| a.push(500); |
| assertEq(a[0](), 20); |
| assertEq(a[1](), "hi"); |
| assertEq(a[2](), 500); |
| } |
| |
| function testDenseUKeyVArray(key) { |
| var a = [function () { return this[3]; }, |
| function () { return this[4]; }, |
| function() { return this[5]; }, |
| 20, |
| "hi", |
| 500]; |
| assertEq(a[key](), 20); |
| assertEq(a[key + 1](), "hi"); |
| assertEq(a[key + 2](), 500); |
| } |
| |
| function testDenseVKeyVArray() { |
| var a = [function () { return this[3]; }, |
| function () { return this[4]; }, |
| function() { return this[5]; }, |
| 20, |
| "hi", |
| 500]; |
| var key = a.length & 1; |
| assertEq(a[key](), 20); |
| assertEq(a[(key + 1) & 3](), "hi"); |
| assertEq(a[(key + 2) & 3](), 500); |
| } |
| |
| function testDenseKKeyVArray() { |
| var a = [function () { return this[3]; }, |
| function () { return this[4]; }, |
| function() { return this[5]; }, |
| 20, |
| "hi", |
| 500]; |
| assertEq(a[0](), 20); |
| assertEq(a[1](), "hi"); |
| assertEq(a[2](), 500); |
| } |
| |
| for (var i = 0; i < 5; i++) { |
| testDenseUKeyUArray([], 0); |
| testDenseVKeyUArray([]); |
| testDenseKKeyUArray([]); |
| testDenseUKeyVArray(0); |
| testDenseVKeyVArray(); |
| testDenseKKeyVArray(); |
| } |
| |
| |