12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- load("test-common.js");
- try {
- assert(Array.prototype.find.length === 1);
- assertThrowsError(() => {
- [].find(undefined);
- }, {
- error: TypeError,
- message: "undefined is not a function"
- });
- var array = ["hello", "friends", 1, 2, false];
- assert(array.find(value => value === "hello") === "hello");
- assert(array.find((value, index, arr) => index === 1) === "friends");
- assert(array.find(value => value == "1") === 1);
- assert(array.find(value => value === 1) === 1);
- assert(array.find(value => typeof(value) !== "string") === 1);
- assert(array.find(value => typeof(value) === "boolean") === false);
- assert(array.find(value => value > 1) === 2);
- assert(array.find(value => value > 1 && value < 3) === 2);
- assert(array.find(value => value > 100) === undefined);
- assert([].find(value => value === 1) === undefined);
- var callbackCalled = 0;
- var callback = () => { callbackCalled++; };
- [].find(callback)
- assert(callbackCalled === 0);
- [1, 2, 3].find(callback);
- assert(callbackCalled === 3);
- callbackCalled = 0;
- [1, , , "foo", , undefined, , ,].find(callback);
- assert(callbackCalled === 8);
- callbackCalled = 0;
- [1, , , "foo", , undefined, , ,].find(value => {
- callbackCalled++;
- return value === undefined;
- });
- assert(callbackCalled === 2);
- console.log("PASS");
- } catch (e) {
- console.log("FAIL: " + e);
- }
|