diff options
Diffstat (limited to 'deps/v8/test/mjsunit/array-splice.js')
-rw-r--r-- | deps/v8/test/mjsunit/array-splice.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/array-splice.js b/deps/v8/test/mjsunit/array-splice.js index be2b1064e6..744e95454b 100644 --- a/deps/v8/test/mjsunit/array-splice.js +++ b/deps/v8/test/mjsunit/array-splice.js @@ -116,16 +116,41 @@ assertEquals([1, 2, 3, 4, 5, 6, 7], spliced); array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(-1e100); + assertEquals([], array); + assertEquals([1, 2, 3, 4, 5, 6, 7], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; spliced = array.splice(-3); assertEquals([1, 2, 3, 4], array); assertEquals([5, 6, 7], spliced); array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(-3.999999); + assertEquals([1, 2, 3, 4], array); + assertEquals([5, 6, 7], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(-3.000001); + assertEquals([1, 2, 3, 4], array); + assertEquals([5, 6, 7], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; spliced = array.splice(4); assertEquals([1, 2, 3, 4], array); assertEquals([5, 6, 7], spliced); array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(4.999999); + assertEquals([1, 2, 3, 4], array); + assertEquals([5, 6, 7], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(4.000001); + assertEquals([1, 2, 3, 4], array); + assertEquals([5, 6, 7], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; spliced = array.splice(6); assertEquals([1, 2, 3, 4, 5, 6], array); assertEquals([7], spliced); @@ -146,21 +171,51 @@ assertEquals([], spliced); array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(1e100); + assertEquals([1, 2, 3, 4, 5, 6, 7], array); + assertEquals([], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; spliced = array.splice(0, -100); assertEquals([1, 2, 3, 4, 5, 6, 7], array); assertEquals([], spliced); array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(0, -1e100); + assertEquals([1, 2, 3, 4, 5, 6, 7], array); + assertEquals([], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; spliced = array.splice(0, -3); assertEquals([1, 2, 3, 4, 5, 6, 7], array); assertEquals([], spliced); array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(0, -3.999999); + assertEquals([1, 2, 3, 4, 5, 6, 7], array); + assertEquals([], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(0, -3.000001); + assertEquals([1, 2, 3, 4, 5, 6, 7], array); + assertEquals([], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; spliced = array.splice(0, 4); assertEquals([5, 6, 7], array); assertEquals([1, 2, 3, 4], spliced); array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(0, 4.999999); + assertEquals([5, 6, 7], array); + assertEquals([1, 2, 3, 4], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(0, 4.000001); + assertEquals([5, 6, 7], array); + assertEquals([1, 2, 3, 4], spliced); + + array = [1, 2, 3, 4, 5, 6, 7]; spliced = array.splice(0, 6); assertEquals([7], array); assertEquals([1, 2, 3, 4, 5, 6], spliced); @@ -180,6 +235,11 @@ assertEquals([], array); assertEquals([1, 2, 3, 4, 5, 6, 7], spliced); + array = [1, 2, 3, 4, 5, 6, 7]; + spliced = array.splice(0, 1e100); + assertEquals([], array); + assertEquals([1, 2, 3, 4, 5, 6, 7], spliced); + // Some exotic cases. obj = { toString: function() { throw 'Exception'; } }; |