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:
Dániel Bátyai
2015-08-04 13:00:03 +02:00
parent 6ec05ff07f
commit 156510e174
2 changed files with 7 additions and 1 deletions
@@ -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;
}
+2
View File
@@ -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);