Fix array index normalize in case index is negative zero
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai.u-szeged@partner.samsung.com
This commit is contained in:
@@ -298,7 +298,11 @@ ecma_builtin_helper_array_index_normalize (ecma_number_t index, /**< index */
|
||||
if (!ecma_number_is_nan (index))
|
||||
{
|
||||
|
||||
if (ecma_number_is_infinity (index))
|
||||
if (ecma_number_is_zero (index))
|
||||
{
|
||||
norm_index = 0;
|
||||
}
|
||||
else if (ecma_number_is_infinity (index))
|
||||
{
|
||||
norm_index = ecma_number_is_negative (index) ? 0 : length;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,8 @@ assert(array.indexOf("foo", NaN) === 0);
|
||||
assert(array.indexOf("foo", Infinity) === -1);
|
||||
assert(array.indexOf("foo", -Infinity) === 0);
|
||||
|
||||
assert([true].indexOf(true, -0) === 0);
|
||||
|
||||
// Checking behavior when length is zero
|
||||
var obj = { indexOf : Array.prototype.indexOf, length : 0 };
|
||||
assert(obj.indexOf("foo") === -1);
|
||||
|
||||
Reference in New Issue
Block a user