blob: e6a4abb4a636f6a54495dc9ff884581e1a997a5f [file] [log] [blame]
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-%typedarray%.prototype.findindex
description: >
Predicate is not called on an empty instance
info: |
22.2.3.11 %TypedArray%.prototype.findIndex ( predicate [ , thisArg ] )
%TypedArray%.prototype.findIndex is a distinct function that implements the
same algorithm as Array.prototype.findIndex as defined in 22.1.3.9 except that
the this object's [[ArrayLength]] internal slot is accessed in place of
performing a [[Get]] of "length".
...
22.1.3.9 Array.prototype.findIndex ( predicate[ , thisArg ] )
...
6. Repeat, while k < len
...
c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).
...
7. Return -1.
includes: [testTypedArray.js]
features: [TypedArray]
---*/
testWithTypedArrayConstructors(function(TA) {
var sample = new TA();
var called = false;
var predicate = function() {
called = true;
return true;
};
var result = sample.findIndex(predicate);
assert.sameValue(
called, false,
"does not call predicate"
);
assert.sameValue(
result, -1,
"returns -1 on an empty instance"
);
});