blob: bb236689b57db05139dba72446cd30647eff3aff [file] [log] [blame]
description("Tests for correct behavior of splice with array storage with holes.");
// Array storage splice holes.
var holeIndex = 7;
var a = new Array(10);
for (var i = 0; i < a.length; ++i) {
if (i === holeIndex)
continue;
a[i] = i;
}
a.shift(); // Converts to array storage mode.
var startIndex = 4;
a.splice(startIndex, 1);
for (var i = 0; i < startIndex; ++i)
shouldBe("a[" + i + "]", "" + (i + 1));
for (var i = startIndex; i < a.length; ++i) {
if (i === holeIndex - 2) {
shouldBe("a.hasOwnProperty('" + i + "')", "false");
continue;
}
shouldBe("a[" + i + "]", "" + (i + 2));
}