| Index: test/mjsunit/harmony/array-findindex.js
|
| diff --git a/test/mjsunit/harmony/array-findindex.js b/test/mjsunit/harmony/array-findindex.js
|
| index a33849dab393afd1f233bd9ec5461d0c489e794a..a5df05a05c0a2b0fdd1505763dc3773ed9991a00 100644
|
| --- a/test/mjsunit/harmony/array-findindex.js
|
| +++ b/test/mjsunit/harmony/array-findindex.js
|
| @@ -237,6 +237,24 @@ assertEquals(3, a.findIndex(function(val) { return 24 === val; }));
|
| return this.elementAt(key) === val;
|
| }, thisArg);
|
| assertEquals(1, index);
|
| +
|
| + // Create a new object in each function call when receiver is a
|
| + // primitive value. See ECMA-262, Annex C.
|
| + a = [];
|
| + [1, 2].findIndex(function() { a.push(this) }, "");
|
| + assertTrue(a[0] !== a[1]);
|
| +
|
| + // Do not create a new object otherwise.
|
| + a = [];
|
| + [1, 2].findIndex(function() { a.push(this) }, {});
|
| + assertEquals(a[0], a[1]);
|
| +
|
| + // In strict mode primitive values should not be coerced to an object.
|
| + a = [];
|
| + [1, 2].findIndex(function() { 'use strict'; a.push(this); }, "");
|
| + assertEquals("", a[0]);
|
| + assertEquals(a[0], a[1]);
|
| +
|
| })();
|
|
|
| // Test exceptions
|
|
|