Fix the indexing of Array builtin functions.
The index-dependant builtins didn't handle correctly the positive Infinity value. JerryScript-DCO-1.0-Signed-off-by: Zsolt Borbély zsborbely.u-szeged@partner.samsung.com
This commit is contained in:
@@ -20,6 +20,9 @@ var array2 = array.slice("a", "3");
|
||||
var array3 = array.slice(-2);
|
||||
var array4 = array.slice(-12, undefined);
|
||||
var array5 = array.slice(undefined, -3);
|
||||
var array6 = array.slice(Infinity, NaN);
|
||||
var array7 = array.slice(-Infinity, Infinity);
|
||||
var array8 = array.slice(NaN, -Infinity);
|
||||
|
||||
assert (array1.length == 4);
|
||||
assert (array1[0] == 54);
|
||||
@@ -45,6 +48,16 @@ assert (array4[3] == -127);
|
||||
assert (array5.length == 1);
|
||||
assert (array5[0] == 54);
|
||||
|
||||
assert (array6.length == 0);
|
||||
|
||||
assert (array7.length == 4);
|
||||
assert (array7[0] == 54);
|
||||
assert (array7[1] == undefined);
|
||||
assert (array7[2] == "Lemon");
|
||||
assert (array7[3] == -127);
|
||||
|
||||
assert (array8.length == 0);
|
||||
|
||||
// Checking behavior when unable to get length
|
||||
var obj = { slice : Array.prototype.slice };
|
||||
Object.defineProperty(obj, 'length', { 'get' : function () { throw new ReferenceError ("foo"); } });
|
||||
|
||||
Reference in New Issue
Block a user