| 1.0 Direct Testing, no starting at Parameter |
| * The indexOf String "Hello" is 0 |
| * The indexOf String "Hi" is 1 |
| * The indexOf Boolean 'true' is 2 |
| * The indexOf Number '5' is 3 |
| * The indexOf Number '9' is 5 |
| |
| 2.0 A firstIndex parameter of 1 (positive offset test) |
| * The indexOf String "Hi" is 1 |
| * The indexOf Boolean 'true' is 2 |
| * The indexOf Number 5 is 3 |
| * The indexOf Number 9 is 5 |
| |
| 3.0 A firstIndex parameter of -4 (negative offset test) |
| * The indexOf String "Hi" is -1 |
| * The indexOf Boolean 'true' is -1 |
| * The indexOf Number 5 is 4 |
| * The indexOf Number 9 is 5 |
| |
| 4.0 A big positive firstIndex of 1000, to test the firstIndex > length |
| * The indexOf Number '9' is -1 |
| |
| 5.0 A big positive firstIndex of 4294967301, to test when firstIndex > width of int (32-bits) |
| * The indexOf Boolean 'true' is -1 |
| |
| 6.0 No arguments |
| * No arguments passed: 7 |
| * No arguments passed: -1 |
| |
| 7.0 Looking for null |
| * The indexOf null is 6 |
| * The indexOf null is -1 |
| |
| 8.0 Extra arguments |
| * The indexOf String "Hello" is 0 |
| |
| 9.0 NaN firstIndex |
| * The indexOf String "Hi" is 0 |
| |
| 10.0 Small firstIndex |
| * The indexOf Boolean 'true' is 2 |
| |
| 11.0 Negative firstIndex bigger than the length of the array |
| * The indexOf Boolean 'true' is 2 |
| |
| 12.0 Negative firstIndex bigger than 32-bits |
| * The indexOf Boolean 'true' is 2 |
| |
| 13.0 Looking for undefined |
| * The indexOf undefined is 7 |
| * The indexOf undefined is -1 |
| * The indexOf undefined is 3 |
| * The indexOf undefined is -1 |
| * The indexOf undefined is -1 |
| |
| 14.0 Object using the Array prototype |
| * The indexOf String "Hello" is 0 |
| * The indexOf String "Hi" is 1 |
| * The indexOf Boolean 'true' is 2 |
| * The indexOf Number '5' is 3 |
| * The indexOf Number '9' is 5 |