19273c85d7e7d9ff0ed3e9c6ddbe58a6c2532569
[WebKit-https.git] / Source / JavaScriptCore / tests / stress / typedarray-indexOf.js
1 load("./resources/typedarray-test-helper-functions.js");
2 description(
3 "This test checks the behavior of the TypedArray.prototype.indexOf function"
4 );
5
6 shouldBe("Int32Array.prototype.indexOf.length", "1");
7 shouldBe("Int32Array.prototype.indexOf.name", "'indexOf'");
8 shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('indexOf')");
9 shouldBeTrue("testPrototypeReceivesArray('indexOf', [undefined, this, { }, [ ], true, ''])");
10 debug("");
11
12 debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])");
13 debug("");
14
15 function keepEven(e, i) {
16     return !(e & 1) || (this.keep ? this.keep === i : false);
17 }
18
19 var array = [2, 5, 9, 2]
20
21 shouldBeTrue("testPrototypeFunction('indexOf', '(2, -500)', array, 0)");
22 shouldBeTrue("testPrototypeFunction('indexOf', '(9, 500)', array, -1)");
23 shouldBeTrue("testPrototypeFunction('indexOf', '(2)', array, 0)");
24 shouldBeTrue("testPrototypeFunction('indexOf', '(7)', array, -1)");
25 shouldBeTrue("testPrototypeFunction('indexOf', '(2, 3)', array, 3)");
26 shouldBeTrue("testPrototypeFunction('indexOf', '(2, 2)', array, 3)");
27 shouldBeTrue("testPrototypeFunction('indexOf', '(2, 0)', array, 0)");
28 shouldBeTrue("testPrototypeFunction('indexOf', '(2, -1)', array, 3)");
29 shouldBeTrue("testPrototypeFunction('indexOf', '(2, -2)', array, 3)");
30 debug("");
31 finishJSTest();