aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14')
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js31
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js50
193 files changed, 7514 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js
new file mode 100644
index 000000000..e73f4ad44
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js
+ * @description Array.prototype.indexOf must exist as a function
+ */
+
+
+function testcase() {
+ var f = Array.prototype.indexOf;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js
new file mode 100644
index 000000000..26ed59531
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js
+ * @description Array.prototype.indexOf has a length property whose value is 1.
+ */
+
+
+function testcase() {
+ if (Array.prototype.indexOf.length === 1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js
new file mode 100644
index 000000000..c04c47266
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js
+ * @description Array.prototype.indexOf applied to undefined throws a TypeError
+ */
+
+
+function testcase() {
+ try {
+ Array.prototype.indexOf.call(undefined);
+ return false;
+ }
+ catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js
new file mode 100644
index 000000000..f8d2c0002
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js
+ * @description Array.prototype.indexOf applied to the Math object
+ */
+
+
+function testcase() {
+ try {
+ Math[1] = true;
+ Math.length = 2;
+ return Array.prototype.indexOf.call(Math, true) === 1;
+ } finally {
+ delete Math[1];
+ delete Math.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js
new file mode 100644
index 000000000..208fdf7ae
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js
+ * @description Array.prototype.indexOf applied to Date object
+ */
+
+
+function testcase() {
+
+ var obj = new Date();
+ obj.length = 2;
+ obj[1] = true;
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js
new file mode 100644
index 000000000..79c02912e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js
+ * @description Array.prototype.indexOf applied to RegExp object
+ */
+
+
+function testcase() {
+
+ var obj = new RegExp();
+ obj.length = 2;
+ obj[1] = true;
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js
new file mode 100644
index 000000000..0670496e6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js
+ * @description Array.prototype.indexOf applied to the JSON object
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ try {
+ JSON[3] = targetObj;
+ JSON.length = 5;
+ return Array.prototype.indexOf.call(JSON, targetObj) === 3;
+ } finally {
+ delete JSON[3];
+ delete JSON.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js
new file mode 100644
index 000000000..91371e01b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js
+ * @description Array.prototype.indexOf applied to Error object
+ */
+
+
+function testcase() {
+
+ var obj = new SyntaxError();
+ obj[1] = true;
+ obj.length = 2;
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js
new file mode 100644
index 000000000..a051b8d16
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js
+ * @description Array.prototype.indexOf applied to Arguments object
+ */
+
+
+function testcase() {
+
+ function fun() {
+ return arguments;
+ }
+ var obj = fun(1, true, 3);
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js
new file mode 100644
index 000000000..992e4926f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js
+ * @description Array.prototype.indexOf applied to the global object
+ */
+
+
+function testcase() {
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject()[1] = true;
+ fnGlobalObject().length = 2;
+ return Array.prototype.indexOf.call(fnGlobalObject(), true) === 1;
+ } finally {
+ delete fnGlobalObject()[1];
+ fnGlobalObject().length = oldLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js
new file mode 100644
index 000000000..64962e220
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js
+ * @description Array.prototype.indexOf applied to null throws a TypeError
+ */
+
+
+function testcase() {
+ try {
+ Array.prototype.indexOf.call(null);
+ return false;
+ }
+ catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js
new file mode 100644
index 000000000..6c2b56852
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js
+ * @description Array.prototype.indexOf applied to boolean primitive
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ try {
+ Boolean.prototype[1] = targetObj;
+ Boolean.prototype.length = 2;
+
+ return Array.prototype.indexOf.call(true, targetObj) === 1;
+ } finally {
+ delete Boolean.prototype[1];
+ delete Boolean.prototype.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js
new file mode 100644
index 000000000..223026d79
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js
+ * @description Array.prototype.indexOf applied to Boolean Object
+ */
+
+
+function testcase() {
+
+ var obj = new Boolean(false);
+ obj.length = 2;
+ obj[1] = true;
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js
new file mode 100644
index 000000000..9f840dd45
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js
+ * @description Array.prototype.indexOf applied to number primitive
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ try {
+ Number.prototype[1] = targetObj;
+ Number.prototype.length = 2;
+
+ return Array.prototype.indexOf.call(5, targetObj) === 1;
+ } finally {
+ delete Number.prototype[1];
+ delete Number.prototype.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js
new file mode 100644
index 000000000..1185746e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js
+ * @description Array.prototype.indexOf applied to Number object
+ */
+
+
+function testcase() {
+
+ var obj = new Number(-3);
+ obj.length = 2;
+ obj[1] = true;
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js
new file mode 100644
index 000000000..8ad6e858d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js
+ * @description Array.prototype.indexOf applied to string primitive
+ */
+
+
+function testcase() {
+
+ return Array.prototype.indexOf.call("abc", "b") === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js
new file mode 100644
index 000000000..7b2861605
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js
+ * @description Array.prototype.indexOf applied to String object
+ */
+
+
+function testcase() {
+
+ var obj = new String("null");
+
+ return Array.prototype.indexOf.call(obj, 'l') === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js
new file mode 100644
index 000000000..c6a904f1d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js
+ * @description Array.prototype.indexOf applied to Function object
+ */
+
+
+function testcase() {
+
+ var obj = function (a, b) {
+ return a + b;
+ };
+ obj[1] = true;
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js
new file mode 100644
index 000000000..4d93fbcd0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js
+ * @description Array.prototype.indexOf returns -1 for elements not present in array
+ */
+
+
+function testcase() {
+ var a = new Array();
+ a[100] = 1;
+ a[99999] = "";
+ a[10] = new Object();
+ a[5555] = 5.5;
+ a[123456] = "str";
+ a[5] = 1E+309;
+ if (a.indexOf(1) !== 100 ||
+ a.indexOf("") !== 99999 ||
+ a.indexOf("str") !== 123456 ||
+ a.indexOf(1E+309) !== 5 || //Infinity
+ a.indexOf(5.5) !== 5555 )
+ {
+ return false;
+ }
+ if (a.indexOf(true) === -1 &&
+ a.indexOf(5) === -1 &&
+ a.indexOf("str1") === -1 &&
+ a.indexOf(null) === -1 &&
+ a.indexOf(new Object()) === -1)
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js
new file mode 100644
index 000000000..d61e18336
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 and does not access any other properties
+ */
+
+
+function testcase() {
+ var accessed = false;
+ var f = {length: 0};
+ Object.defineProperty(f,"0",{get: function () {accessed = true; return 1;}});
+
+
+ var i = Array.prototype.indexOf.call(f,1);
+
+ if (i === -1 && accessed==false) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js
new file mode 100644
index 000000000..03ba75014
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js
+ * @description Array.prototype.indexOf - 'length' is own data property on an Array-like object
+ */
+
+
+function testcase() {
+ var objOne = { 1: true, length: 2 };
+ var objTwo = { 2: true, length: 2 };
+ return Array.prototype.indexOf.call(objOne, true) === 1 &&
+ Array.prototype.indexOf.call(objTwo, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js
new file mode 100644
index 000000000..e18ee3198
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js
+ * @description Array.prototype.indexOf - 'length' is inherited accessor property
+ */
+
+
+function testcase() {
+
+ var proto = {};
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var childOne = new Con();
+ childOne[1] = true;
+ var childTwo = new Con();
+ childTwo[2] = true;
+
+ return Array.prototype.indexOf.call(childOne, true) === 1 &&
+ Array.prototype.indexOf.call(childTwo, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js
new file mode 100644
index 000000000..92091e80b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js
+ * @description Array.prototype.indexOf - 'length' is own accessor property without a get function
+ */
+
+
+function testcase() {
+
+ var obj = { 1: true };
+ Object.defineProperty(obj, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(obj, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js
new file mode 100644
index 000000000..c8223a25a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js
+ * @description Array.prototype.indexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Object.prototype, "length", {
+ get: function () {
+ return 20;
+ },
+ configurable: true
+ });
+
+ var obj = { 1: 1 };
+ Object.defineProperty(obj, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(obj, 1) === -1;
+ } finally {
+ delete Object.prototype.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js
new file mode 100644
index 000000000..c122b56ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js
+ * @description Array.prototype.indexOf - 'length' is inherited accessor property without a get function
+ */
+
+
+function testcase() {
+
+ var proto = {};
+ Object.defineProperty(proto, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[1] = true;
+
+ return Array.prototype.indexOf.call(child, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js
new file mode 100644
index 000000000..f9277ceb6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js
+ * @description Array.prototype.indexOf - 'length' is undefined property
+ */
+
+
+function testcase() {
+
+ var obj = { 0: true, 1: true };
+
+ return Array.prototype.indexOf.call(obj, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js
new file mode 100644
index 000000000..b6bc3b69c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js
+ * @description Array.prototype.indexOf - 'length' is property of the global object
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject().length = 2;
+
+ fnGlobalObject()[1] = targetObj;
+ if (Array.prototype.indexOf.call(fnGlobalObject(), targetObj) !== 1) {
+ return false;
+ }
+
+ fnGlobalObject()[1] = {};
+ fnGlobalObject()[2] = targetObj;
+
+ return Array.prototype.indexOf.call(fnGlobalObject(), targetObj) === -1;
+ } finally {
+ delete fnGlobalObject()[1];
+ delete fnGlobalObject()[2];
+ fnGlobalObject().length = oldLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js
new file mode 100644
index 000000000..64d040c96
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js
+ * @description Array.prototype.indexOf applied to Arguments object which implements its own property get method
+ */
+
+
+function testcase() {
+
+ var func = function (a, b) {
+ arguments[2] = false;
+ return Array.prototype.indexOf.call(arguments, true) === 1 &&
+ Array.prototype.indexOf.call(arguments, false) === -1;
+ };
+
+ return func(0, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js
new file mode 100644
index 000000000..f7096e607
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js
+ * @description Array.prototype.indexOf applied to String object, which implements its own property get method
+ */
+
+
+function testcase() {
+ var str = new String("012");
+ try {
+ String.prototype[3] = "3";
+ return Array.prototype.indexOf.call(str, "2") === 2 &&
+ Array.prototype.indexOf.call(str, "3") === -1;
+ } finally {
+ delete String.prototype[3];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js
new file mode 100644
index 000000000..deeffe13a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js
+ * @description Array.prototype.indexOf applied to Function object which implements its own property get method
+ */
+
+
+function testcase() {
+
+ var obj = function (a, b) {
+ return a + b;
+ };
+ obj[1] = "b";
+ obj[2] = "c";
+
+ return Array.prototype.indexOf.call(obj, obj[1]) === 1 &&
+ Array.prototype.indexOf.call(obj, obj[2]) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js
new file mode 100644
index 000000000..16b613f86
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js
+ * @description Array.prototype.indexOf - 'length' is own data property on an Array
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ try {
+ Array.prototype[2] = targetObj;
+
+ return [0, targetObj].indexOf(targetObj) === 1 &&
+ [0, 1].indexOf(targetObj) === -1;
+
+ } finally {
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js
new file mode 100644
index 000000000..8de715a1e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js
+ * @description Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array-like object
+ */
+
+
+function testcase() {
+
+ var proto = { length: 0 };
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+ child[1] = true;
+
+ return Array.prototype.indexOf.call(child, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js
new file mode 100644
index 000000000..18bdc7901
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js
+ * @description Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array
+ */
+
+
+function testcase() {
+
+ var targetObj = {};
+ var arrProtoLen;
+
+ try {
+ arrProtoLen = Array.prototype.length;
+ Array.prototype.length = 0;
+
+ return [0, targetObj].indexOf(targetObj) === 1;
+
+ } finally {
+
+ Array.prototype.length = arrProtoLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js
new file mode 100644
index 000000000..a17396872
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js
+ * @description Array.prototype.indexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+
+ Object.defineProperty(child, "length", {
+ value: 2,
+ configurable: true
+ });
+ child[1] = true;
+
+ return Array.prototype.indexOf.call(child, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js
new file mode 100644
index 000000000..acbdc2852
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js
+ * @description Array.prototype.indexOf - 'length' is an inherited data property
+ */
+
+
+function testcase() {
+ var proto = { length: 2 };
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var childOne = new Con();
+ childOne[1] = true;
+ var childTwo = new Con();
+ childTwo[2] = true;
+
+ return Array.prototype.indexOf.call(childOne, true) === 1 &&
+ Array.prototype.indexOf.call(childTwo, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js
new file mode 100644
index 000000000..54a713eb9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js
+ * @description Array.prototype.indexOf - 'length' is own accessor property
+ */
+
+
+function testcase() {
+ var objOne = { 1: true };
+ var objTwo = { 2: true };
+ Object.defineProperty(objOne, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+ Object.defineProperty(objTwo, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(objOne, true) === 1 &&
+ Array.prototype.indexOf.call(objTwo, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js
new file mode 100644
index 000000000..957f1d6e0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js
+ * @description Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited data property
+ */
+
+
+function testcase() {
+
+ var proto = { length: 0 };
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[1] = true;
+
+ Object.defineProperty(child, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(child, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js
new file mode 100644
index 000000000..4b024a8ec
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js
+ * @description Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited accessor property
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[1] = true;
+
+ Object.defineProperty(child, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(child, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js
new file mode 100644
index 000000000..7b66b2527
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js
+ * @description Array.prototype.indexOf - value of 'length' is undefined
+ */
+
+
+function testcase() {
+
+ var obj = { 0: 1, 1: 1, length: undefined };
+
+ return Array.prototype.indexOf.call(obj, 1) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js
new file mode 100644
index 000000000..471079404
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js
+ * @description Array.prototype.indexOf - value of 'length' is number primitive (value is NaN)
+ */
+
+
+function testcase() {
+
+ var obj = { 0: 0, length: NaN };
+
+ return Array.prototype.indexOf.call(obj, 0) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js
new file mode 100644
index 000000000..9d55981b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js
+ * @description Array.prototype.indexOf - 'length' is a string containing a positive number
+ */
+
+
+function testcase() {
+
+ var obj = { 1: 1, 2: 2, length: "2" };
+
+ return Array.prototype.indexOf.call(obj, 1) === 1 &&
+ Array.prototype.indexOf.call(obj, 2) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js
new file mode 100644
index 000000000..b9b9e81b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js
+ * @description Array.prototype.indexOf - 'length' is a string containing a negative number
+ */
+
+
+function testcase() {
+
+ var obj = { 1: "true", 2: "2", length: "-4294967294" };
+
+ return Array.prototype.indexOf.call(obj, "true") === 1 &&
+ Array.prototype.indexOf.call(obj, "2") === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js
new file mode 100644
index 000000000..4c13eefc2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js
+ * @description Array.prototype.indexOf - 'length' is a string containing a decimal number
+ */
+
+
+function testcase() {
+
+ var obj = { 199: true, 200: "200.59", length: "200.59" };
+
+ return Array.prototype.indexOf.call(obj, true) === 199 &&
+ Array.prototype.indexOf.call(obj, "200.59") === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js
new file mode 100644
index 000000000..8ac9a26e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js
+ * @description Array.prototype.indexOf - 'length' is a string containing +/-Infinity
+ */
+
+
+function testcase() {
+
+ var objOne = { 0: true, 1: true, length: "Infinity" };
+ var objTwo = { 0: true, 1: true, length: "+Infinity" };
+ var objThree = { 0: true, 1: true, length: "-Infinity" };
+
+ return Array.prototype.indexOf.call(objOne, true) === -1 &&
+ Array.prototype.indexOf.call(objTwo, true) === -1 &&
+ Array.prototype.indexOf.call(objThree, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js
new file mode 100644
index 000000000..8dc57a414
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js
+ * @description Array.prototype.indexOf - 'length' is a string containing an exponential number
+ */
+
+
+function testcase() {
+
+ var obj = { 1: true, 2: "2E0", length: "2E0" };
+
+ return Array.prototype.indexOf.call(obj, true) === 1 &&
+ Array.prototype.indexOf.call(obj, "2E0") === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js
new file mode 100644
index 000000000..31ceb70c8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js
+ * @description Array.prototype.indexOf - 'length' is a string containing a hex number
+ */
+
+
+function testcase() {
+
+ var obj = { 10: true, 11: "0x00B", length: "0x00B" };
+
+ return Array.prototype.indexOf.call(obj, true) === 10 &&
+ Array.prototype.indexOf.call(obj, "0x00B") === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js
new file mode 100644
index 000000000..ebf4b6209
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js
+ * @description Array.prototype.indexOf - 'length' is a string containing a number with leading zeros
+ */
+
+
+function testcase() {
+
+ var obj = { 1: true, 2: "0002.0", length: "0002.0" };
+
+ return Array.prototype.indexOf.call(obj, true) === 1 &&
+ Array.prototype.indexOf.call(obj, "0002.0") === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js
new file mode 100644
index 000000000..feade132e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js
+ * @description Array.prototype.indexOf - value of 'length' is a string that can't convert to a number
+ */
+
+
+function testcase() {
+
+ var obj = { 0: true, 100: true, length: "one" };
+
+ return Array.prototype.indexOf.call(obj, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js
new file mode 100644
index 000000000..c35966339
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js
+ * @description Array.prototype.indexOf - value of 'length' is an Object which has an own toString method.
+ */
+
+
+function testcase() {
+
+ // objects inherit the default valueOf() method from Object
+ // that simply returns itself. Since the default valueOf() method
+ // does not return a primitive value, ES next tries to convert the object
+ // to a number by calling its toString() method and converting the
+ // resulting string to a number.
+
+ var obj = {
+ 1: true,
+ 2: 2,
+
+ length: {
+ toString: function () {
+ return '2';
+ }
+ }
+ };
+
+ return Array.prototype.indexOf.call(obj, true) === 1 &&
+ Array.prototype.indexOf.call(obj, 2) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js
new file mode 100644
index 000000000..278378ad2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js
+ * @description Array.prototype.indexOf return -1 when 'length' is a boolean (value is true)
+ */
+
+
+function testcase() {
+ var obj = { 0: 0, 1: 1, length: true };
+ return Array.prototype.indexOf.call(obj, 0) === 0 &&
+ Array.prototype.indexOf.call(obj, 1) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js
new file mode 100644
index 000000000..6fa05eb9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js
+ * @description Array.prototype.indexOf - value of 'length' is an Object which has an own valueOf method.
+ */
+
+
+function testcase() {
+
+ //valueOf method will be invoked first, since hint is Number
+ var obj = {
+ 1: true,
+ 2: 2,
+ length: {
+ valueOf: function () {
+ return 2;
+ }
+ }
+ };
+
+ return Array.prototype.indexOf.call(obj, true) === 1 &&
+ Array.prototype.indexOf.call(obj, 2) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js
new file mode 100644
index 000000000..b0cd11d1d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js
+ * @description Array.prototype.indexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string
+ */
+
+
+function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var obj = {
+ 1: true,
+ length: {
+ toString: function () {
+ toStringAccessed = true;
+ return '2';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ };
+
+ return Array.prototype.indexOf.call(obj, true) === 1 && toStringAccessed && valueOfAccessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js
new file mode 100644
index 000000000..75721183b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js
+ * @description Array.prototype.indexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don�t return primitive values
+ */
+
+
+function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var obj = {
+ length: {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ };
+
+ try {
+ Array.prototype.indexOf.call(obj);
+ return false;
+ } catch (e) {
+ return toStringAccessed && valueOfAccessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js
new file mode 100644
index 000000000..4ac056531
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js
+ * @description Array.prototype.indexOf uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods
+ */
+
+
+function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var proto = {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return 2;
+ }
+ };
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.toString = function () {
+ toStringAccessed = true;
+ return 2;
+ };
+
+ var obj = {
+ 1: true,
+ length: child
+ };
+
+ return Array.prototype.indexOf.call(obj, true) === 1 && valueOfAccessed && !toStringAccessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js
new file mode 100644
index 000000000..a41ac3f0e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js
+ * @description Array.prototype.indexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction
+ */
+
+
+function testcase() {
+
+ var obj = { 122: true, 123: false, length: 123.321 }; //length will be 123 finally
+
+ return Array.prototype.indexOf.call(obj, true) === 122 &&
+ Array.prototype.indexOf.call(obj, false) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js
new file mode 100644
index 000000000..5ff5d9042
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js
+ * @description Array.prototype.indexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction
+ */
+
+
+function testcase() {
+
+ var obj = { 1: true, 2: false, length: -4294967294.5 }; //length will be 2 finally
+
+ return Array.prototype.indexOf.call(obj, true) === 1 &&
+ Array.prototype.indexOf.call(obj, false) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js
new file mode 100644
index 000000000..28141fa0f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js
+ * @description Array.prototype.indexOf - value of 'length' is boundary value (2^32)
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ var obj = {
+ 0: targetObj,
+ 4294967294: targetObj,
+ 4294967295: targetObj,
+ length: 4294967296
+ };
+
+ return Array.prototype.indexOf.call(obj, targetObj) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js
new file mode 100644
index 000000000..870e8baa5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js
+ * @description Array.prototype.indexOf - value of 'length' is boundary value (2^32 + 1)
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ var obj = {
+ 0: targetObj,
+ 1: 4294967297,
+ length: 4294967297
+ };
+
+ return Array.prototype.indexOf.call(obj, targetObj) === 0 &&
+ Array.prototype.indexOf.call(obj, 4294967297) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js
new file mode 100644
index 000000000..cec106025
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js
+ * @description Array.prototype.indexOf - value of 'length' is a number (value is 0)
+ */
+
+
+function testcase() {
+
+ var obj = { 0: true, length: 0 };
+
+ return Array.prototype.indexOf.call(obj, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js
new file mode 100644
index 000000000..b3e826421
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js
+ * @description Array.prototype.indexOf - value of 'length' is a number (value is +0)
+ */
+
+
+function testcase() {
+
+ var obj = { 0: true, length: +0 };
+
+ return Array.prototype.indexOf.call(obj, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js
new file mode 100644
index 000000000..792470f2d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js
+ * @description Array.prototype.indexOf - value of 'length' is a number (value is -0)
+ */
+
+
+function testcase() {
+
+ var obj = { 0: true, length: -0 };
+
+ return Array.prototype.indexOf.call(obj, true) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js
new file mode 100644
index 000000000..16589369e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js
+ * @description Array.prototype.indexOf - value of 'length' is a number (value is positive)
+ */
+
+
+function testcase() {
+
+ var obj = { 3: true, 4: false, length: 4 };
+
+ return Array.prototype.indexOf.call(obj, true) === 3 &&
+ Array.prototype.indexOf.call(obj, false) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js
new file mode 100644
index 000000000..134f1c649
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js
+ * @description Array.prototype.indexOf - value of 'length' is a number (value is negative)
+ */
+
+
+function testcase() {
+
+ var obj = { 4: true, 5: false, length: 5 - Math.pow(2, 32) };
+
+ return Array.prototype.indexOf.call(obj, true) === 4 &&
+ Array.prototype.indexOf.call(obj, false) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js
new file mode 100644
index 000000000..d4f856585
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js
+ * @description Array.prototype.indexOf - value of 'length' is a number (value is Infinity)
+ */
+
+
+function testcase() {
+
+ var obj = { 0: 0, length: Infinity };
+
+ return Array.prototype.indexOf.call(obj, 0) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js
new file mode 100644
index 000000000..daf2bd9d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js
+ * @description Array.prototype.indexOf - value of 'length' is a number (value is -Infinity)
+ */
+
+
+function testcase() {
+
+ var obj = { 0: 0, length: -Infinity };
+
+ return Array.prototype.indexOf.call(obj, 0) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js
new file mode 100644
index 000000000..df0ccc100
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 (empty array)
+ */
+
+
+function testcase() {
+ var i = [].indexOf(42);
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js
new file mode 100644
index 000000000..948ac3522
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js
+ * @description Array.prototype.indexOf - 'length' is a number of value -6e-1
+ */
+
+
+function testcase() {
+ var targetObj = [];
+ var obj = { 0: targetObj, 100: targetObj, length: -6e-1 };
+ return Array.prototype.indexOf.call(obj, targetObj) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js
new file mode 100644
index 000000000..5cff9d1c9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js
+ * @description Array.prototype.indexOf - 'length' is an empty string
+ */
+
+
+function testcase() {
+ var targetObj = [];
+ var obj = { 0: targetObj, 100: targetObj, length: "" };
+ return Array.prototype.indexOf.call(obj, targetObj) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js
new file mode 100644
index 000000000..f99c5ab77
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))
+ */
+
+
+function testcase() {
+
+ var i = Array.prototype.indexOf.call({length: null}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js
new file mode 100644
index 000000000..5ba4ffb22
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))
+ */
+
+
+function testcase() {
+
+ var i = Array.prototype.indexOf.call({length: false}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js
new file mode 100644
index 000000000..ee1eca1c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )
+ */
+
+
+function testcase() {
+
+ var i = Array.prototype.lastIndexOf.call({length: 0}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js
new file mode 100644
index 000000000..7a6add796
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))
+ */
+
+
+function testcase() {
+
+ var i = Array.prototype.indexOf.call({length: '0'}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js
new file mode 100644
index 000000000..96a62bd22
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)
+ */
+
+
+function testcase() {
+
+ var i = Array.prototype.indexOf.call({length: { valueOf: function () { return 0;}}}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js
new file mode 100644
index 000000000..1dd0d4aab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))
+ */
+
+
+function testcase() {
+
+
+ // objects inherit the default valueOf method of the Object object;
+ // that simply returns the itself. Since the default valueOf() method
+ // does not return a primitive value, ES next tries to convert the object
+ // to a number by calling its toString() method and converting the
+ // resulting string to a number.
+ var i = Array.prototype.indexOf.call({length: { toString: function () { return '0';}}}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js
new file mode 100644
index 000000000..4018b4c5b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js
+ * @description Array.prototype.indexOf returns -1 if 'length' is 0 (length is an empty array)
+ */
+
+
+function testcase() {
+
+
+ // objects inherit the default valueOf method of the Object object;
+ // that simply returns the itself. Since the default valueOf() method
+ // does not return a primitive value, ES next tries to convert the object
+ // to a number by calling its toString() method and converting the
+ // resulting string to a number.
+ //
+ // The toString( ) method on Array converts the array elements to strings,
+ // then returns the result of concatenating these strings, with commas in
+ // between. An array with no elements converts to the empty string, which
+ // converts to the number 0. If an array has a single element that is a
+ // number n, the array converts to a string representation of n, which is
+ // then converted back to n itself. If an array contains more than one element,
+ // or if its one element is not a number, the array converts to NaN.
+ var i = Array.prototype.indexOf.call({length: [ ]}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js
new file mode 100644
index 000000000..f540e5cf8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js
+ * @description Array.prototype.indexOf - 'length' is a number of value 0.1
+ */
+
+
+function testcase() {
+ var targetObj = [];
+ var obj = { 0: targetObj, 100: targetObj, length: 0.1 };
+ return Array.prototype.indexOf.call(obj, targetObj) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js
new file mode 100644
index 000000000..f89e0b53f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js
+ * @description Array.prototype.indexOf when fromIndex is string
+ */
+
+
+function testcase() {
+ var a = [1,2,1,2,1,2];
+ if (a.indexOf(2,"2") === 3 && // "2" resolves to 2
+ a.indexOf(2,"one") === 1) { // "one" resolves to 0
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js
new file mode 100644
index 000000000..7bcf03b2e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is positive number)
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ return [0, targetObj, 2].indexOf(targetObj, 2) === -1 &&
+ [0, 1, targetObj].indexOf(targetObj, 2) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js
new file mode 100644
index 000000000..6f159c310
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is negative number)
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ return [0, targetObj, 2].indexOf(targetObj, -1) === -1 &&
+ [0, 1, targetObj].indexOf(targetObj, -1) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js
new file mode 100644
index 000000000..706e014e2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is Infinity)
+ */
+
+
+function testcase() {
+ var arr = [];
+ arr[Math.pow(2, 32) - 2] = true; //length is the max value of Uint type
+ return arr.indexOf(true, Infinity) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js
new file mode 100644
index 000000000..b6319a0a7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is -Infinity)
+ */
+
+
+function testcase() {
+
+ return [true].indexOf(true, -Infinity) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js
new file mode 100644
index 000000000..09753bd5c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is NaN)
+ */
+
+
+function testcase() {
+
+ return [true].indexOf(true, NaN) === 0 && [true].indexOf(true, -NaN) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js
new file mode 100644
index 000000000..5d020b16b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a string containing a negative number
+ */
+
+
+function testcase() {
+
+ return [0, true, 2].indexOf(true, "-1") === -1 &&
+ [0, 1, true].indexOf(true, "-1") === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js
new file mode 100644
index 000000000..0308e66a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a string containing Infinity
+ */
+
+
+function testcase() {
+ var arr = [];
+ arr[Math.pow(2, 32) - 2] = true; //length is the max value of Uint type
+ return arr.indexOf(true, "Infinity") === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js
new file mode 100644
index 000000000..de4d8ad8e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a string containing -Infinity
+ */
+
+
+function testcase() {
+
+ return [true].indexOf(true, "-Infinity") === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js
new file mode 100644
index 000000000..14a8bfefc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a string containing an exponential number
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ return [0, 1, targetObj, 3, 4].indexOf(targetObj, "3E0") === -1 &&
+ [0, 1, 2, targetObj, 4].indexOf(targetObj, "3E0") === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js
new file mode 100644
index 000000000..c3bd0ab04
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a string containing a hex number
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ return [0, 1, targetObj, 3, 4].indexOf(targetObj, "0x0003") === -1 &&
+ [0, 1, 2, targetObj, 4].indexOf(targetObj, "0x0003") === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js
new file mode 100644
index 000000000..3c2cf8240
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js
+ * @description Array.prototype.indexOf when fromIndex is floating point number
+ */
+
+
+function testcase() {
+ var a = new Array(1,2,3);
+ if (a.indexOf(3,0.49) === 2 && // 0.49 resolves to 0
+ a.indexOf(1,0.51) === 0 && // 0.51 resolves to 0
+ a.indexOf(1,1.51) === -1) { // 1.01 resolves to 1
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js
new file mode 100644
index 000000000..835736ad6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' which is a string containing a number with leading zeros
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ return [0, 1, targetObj, 3, 4].indexOf(targetObj, "0003.10") === -1 &&
+ [0, 1, 2, targetObj, 4].indexOf(targetObj, "0003.10") === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js
new file mode 100644
index 000000000..d90005fa5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own toString method
+ */
+
+
+function testcase() {
+
+ // objects inherit the default valueOf() method from Object
+ // that simply returns itself. Since the default valueOf() method
+ // does not return a primitive value, ES next tries to convert the object
+ // to a number by calling its toString() method and converting the
+ // resulting string to a number.
+ var fromIndex = {
+ toString: function () {
+ return '1';
+ }
+ };
+
+ return [0, true].indexOf(true, fromIndex) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js
new file mode 100644
index 000000000..58444467f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own valueOf method
+ */
+
+
+function testcase() {
+
+ var fromIndex = {
+ valueOf: function () {
+ return 1;
+ }
+ };
+
+
+ return [0, true].indexOf(true, fromIndex) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js
new file mode 100644
index 000000000..f1e7c336a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string
+ */
+
+
+function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var fromIndex = {
+ toString: function () {
+ toStringAccessed = true;
+ return '1';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ };
+
+ return [0, true].indexOf(true, fromIndex) === 1 && toStringAccessed && valueOfAccessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js
new file mode 100644
index 000000000..eb80e77a4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js
+ * @description Array.prototype.indexOf throws TypeError exception when value of 'fromIndex' is an object with toString and valueOf methods that don�t return primitive values
+ */
+
+
+function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+ var fromIndex = {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ };
+
+ try {
+ [0, true].indexOf(true, fromIndex);
+ return false;
+ } catch (e) {
+ return toStringAccessed && valueOfAccessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js
new file mode 100644
index 000000000..d3670ba12
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js
+ * @description Array.prototype.indexOf uses inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods
+ */
+
+
+function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var proto = {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return 1;
+ }
+ };
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.toString = function () {
+ toStringAccessed = true;
+ return 2;
+ };
+
+ return [0, true].indexOf(true, child) === 1 && valueOfAccessed && !toStringAccessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js
new file mode 100644
index 000000000..87614505f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js
+ * @description Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs
+ */
+
+
+function testcase() {
+ var stepTwoOccurs = false;
+ var stepFiveOccurs = false;
+
+ var obj = {};
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ stepTwoOccurs = true;
+ if (stepFiveOccurs) {
+ throw new Error("Step 5 occurred out of order");
+ }
+ return 20;
+ },
+ configurable: true
+ });
+
+ var fromIndex = {
+ valueOf: function () {
+ stepFiveOccurs = true;
+ return 0;
+ }
+ };
+
+ try {
+ Array.prototype.indexOf.call(obj, undefined, fromIndex);
+ return stepTwoOccurs && stepFiveOccurs;
+ } catch (ex) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js
new file mode 100644
index 000000000..5ef7aac30
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js
+ * @description Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs
+ */
+
+
+function testcase() {
+ var stepThreeOccurs = false;
+ var stepFiveOccurs = false;
+
+ var obj = {};
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ valueOf: function () {
+ stepThreeOccurs = true;
+ if (stepFiveOccurs) {
+ throw new Error("Step 5 occurred out of order");
+ }
+ return 20;
+ }
+ };
+ },
+ configurable: true
+ });
+
+ var fromIndex = {
+ valueOf: function () {
+ stepFiveOccurs = true;
+ return 0;
+ }
+ };
+
+ try {
+ Array.prototype.indexOf.call(obj, undefined, fromIndex);
+ return stepThreeOccurs && stepFiveOccurs;
+ } catch (ex) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js
new file mode 100644
index 000000000..dc6fc1c17
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js
+ * @description Array.prototype.indexOf - side effects produced by step 1 are visible when an exception occurs
+ */
+
+
+function testcase() {
+
+ var stepFiveOccurs = false;
+ var fromIndex = {
+ valueOf: function () {
+ stepFiveOccurs = true;
+ return 0;
+ }
+ };
+
+ try {
+ Array.prototype.indexOf.call(undefined, undefined, fromIndex);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && !stepFiveOccurs;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js
new file mode 100644
index 000000000..8eca20ebd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js
+ * @description Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs
+ */
+
+
+function testcase() {
+
+ var stepFiveOccurs = false;
+
+ var obj = {};
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ throw new RangeError();
+ },
+ configurable: true
+ });
+
+ var fromIndex = {
+ valueOf: function () {
+ stepFiveOccurs = true;
+ return 0;
+ }
+ };
+
+ try {
+ Array.prototype.indexOf.call(obj, undefined, fromIndex);
+ return false;
+ } catch (e) {
+ return (e instanceof RangeError) && !stepFiveOccurs;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js
new file mode 100644
index 000000000..7ebc8d0b5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js
+ * @description Array.prototype.indexOf when fromIndex is boolean
+ */
+
+
+function testcase() {
+ var a = [1,2,3];
+ if (a.indexOf(1,true) === -1 && // true resolves to 1
+ a.indexOf(1,false) === 0 ) { // false resolves to 0
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js
new file mode 100644
index 000000000..3c41dda7b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js
+ * @description Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs
+ */
+
+
+function testcase() {
+
+ var stepFiveOccurs = false;
+
+ var obj = {};
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ valueOf: function () {
+ throw new TypeError();
+ }
+ };
+ },
+ configurable: true
+ });
+
+ var fromIndex = {
+ valueOf: function () {
+ stepFiveOccurs = true;
+ return 0;
+ }
+ };
+
+ try {
+ Array.prototype.indexOf.call(obj, undefined, fromIndex);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && !stepFiveOccurs;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js
new file mode 100644
index 000000000..8c7ec29a5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js
+ * @description Array.prototype.indexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ return [0, targetObj, 2].indexOf(targetObj, 2.5) === -1 &&
+ [0, 1, targetObj].indexOf(targetObj, 2.5) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js
new file mode 100644
index 000000000..171ab06a6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js
+ * @description Array.prototype.indexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction
+ */
+
+
+function testcase() {
+ var targetObj = {};
+ return [0, targetObj, 2].indexOf(targetObj, -1.5) === -1 &&
+ [0, 1, targetObj].indexOf(targetObj, -1.5) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js
new file mode 100644
index 000000000..0937a0654
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js
+ * @description Array.prototype.indexOf match on the first element, a middle element and the last element when 'fromIndex' is passed
+ */
+
+
+function testcase() {
+
+ return [0, 1, 2, 3, 4].indexOf(0, 0) === 0 &&
+ [0, 1, 2, 3, 4].indexOf(2, 1) === 2 &&
+ [0, 1, 2, 3, 4].indexOf(2, 2) === 2 &&
+ [0, 1, 2, 3, 4].indexOf(4, 2) === 4 &&
+ [0, 1, 2, 3, 4].indexOf(4, 4) === 4;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js
new file mode 100644
index 000000000..fc8a57fb3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js
+ * @description Array.prototype.indexOf returns 0 if fromIndex is 'undefined'
+ */
+
+
+function testcase() {
+ var a = [1,2,3];
+ if (a.indexOf(1,undefined) === 0) { // undefined resolves to 0
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js
new file mode 100644
index 000000000..5ce4d4e03
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js
+ * @description Array.prototype.indexOf returns 0 if fromIndex is null
+ */
+
+
+function testcase() {
+ var a = [1,2,3];
+ if (a.indexOf(1,null) === 0 ) { // null resolves to 0
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js
new file mode 100644
index 000000000..99f5e9255
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js
+ * @description Array.prototype.indexOf - 'fromIndex' isn't passed
+ */
+
+
+function testcase() {
+ var arr = [0, 1, 2, 3, 4];
+ //'fromIndex' will be set as 0 if not passed by default
+ return arr.indexOf(0) === arr.indexOf(0, 0) &&
+ arr.indexOf(2) === arr.indexOf(2, 0) &&
+ arr.indexOf(4) === arr.indexOf(4, 0);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js
new file mode 100644
index 000000000..ba1ae830a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is 0)
+ */
+
+
+function testcase() {
+
+ return [true].indexOf(true, 0) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js
new file mode 100644
index 000000000..9af47df25
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is +0)
+ */
+
+
+function testcase() {
+
+ return [true].indexOf(true, +0) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js
new file mode 100644
index 000000000..81973bbb5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js
+ * @description Array.prototype.indexOf - value of 'fromIndex' is a number (value is -0)
+ */
+
+
+function testcase() {
+
+ return [true].indexOf(true, -0) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js
new file mode 100644
index 000000000..9f65d924a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js
+ * @description Array.prototype.indexOf returns -1 if fromIndex is greater than Array length
+ */
+
+
+function testcase() {
+ var a = [1,2,3];
+ if (a.indexOf(1,5) === -1 &&
+ a.indexOf(1,3) === -1 &&
+ [ ].indexOf(1,0) === -1 ){
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js
new file mode 100644
index 000000000..6b8e833df
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js
+ * @description Array.prototype.indexOf returns -1 when 'fromIndex' is length of array - 1
+ */
+
+
+function testcase() {
+
+ return [1, 2, 3].indexOf(1, 2) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js
new file mode 100644
index 000000000..858e915fa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js
+ * @description Array.prototype.indexOf returns correct index when 'fromIndex' is length of array - 1
+ */
+
+
+function testcase() {
+
+ return [1, 2, 3].indexOf(3, 2) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js
new file mode 100644
index 000000000..60360f434
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js
+ * @description Array.prototype.indexOf returns -1 when 'fromIndex' and 'length' are both 0
+ */
+
+
+function testcase() {
+
+ return [].indexOf(1, 0) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js
new file mode 100644
index 000000000..0f8e205dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js
+ * @description Array.prototype.indexOf returns -1 when 'fromIndex' is 1
+ */
+
+
+function testcase() {
+
+ return [1, 2, 3].indexOf(1, 1) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js
new file mode 100644
index 000000000..1e232df28
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js
+ * @description Array.prototype.indexOf returns correct index when 'fromIndex' is 1
+ */
+
+
+function testcase() {
+
+ return [1, 2, 3].indexOf(2, 1) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js
new file mode 100644
index 000000000..a0c2c0199
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js
+ * @description Array.prototype.indexOf with negative fromIndex
+ */
+
+
+function testcase() {
+ var a = new Array(1,2,3);
+
+ if (a.indexOf(2,-1) === -1 &&
+ a.indexOf(2,-2) === 1 &&
+ a.indexOf(1,-3) === 0 &&
+ a.indexOf(1,-5.3) === 0 ) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js
new file mode 100644
index 000000000..74d4f48f9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js
+ * @description Array.prototype.indexOf returns correct index when 'fromIndex' is -1
+ */
+
+
+function testcase() {
+
+ return [1, 2, 3, 4].indexOf(4, -1) === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js
new file mode 100644
index 000000000..84f894354
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js
+ * @description Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array - 1
+ */
+
+
+function testcase() {
+
+ return [1, 2, 3, 4].indexOf(1, -3) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js
new file mode 100644
index 000000000..ebc439eab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js
+ * @description Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array
+ */
+
+
+function testcase() {
+
+ return [1, 2, 3, 4].indexOf(0, -4) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js
new file mode 100644
index 000000000..4d1b8f74f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js
+ * @description Array.prototype.indexOf must return correct index (boolean)
+ */
+
+
+function testcase() {
+ var obj = {toString:function (){return true}};
+ var _false = false;
+ var a = [obj,"true", undefined,0,_false,null,1,"str",0,1,true,false,true,false];
+ if (a.indexOf(true) === 10 && //a[10]=true
+ a.indexOf(false) === 4) //a[4] =_false
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js
new file mode 100644
index 000000000..198a7fd13
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * note that prior to the finally ES5 draft SameValue was used for comparisions
+ * and hence NaNs could be found using indexOf *
+ *
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js
+ * @description Array.prototype.indexOf must return correct index (NaN)
+ */
+
+
+function testcase() {
+ var _NaN = NaN;
+ var a = new Array("NaN",undefined,0,false,null,{toString:function (){return NaN}},"false",_NaN,NaN);
+ if (a.indexOf(NaN) === -1) // NaN is equal to nothing, including itself.
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js
new file mode 100644
index 000000000..d3fcb6d57
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js
+ * @description Array.prototype.indexOf - the length of iteration isn't changed by adding elements to the array during iteration
+ */
+
+
+function testcase() {
+
+ var arr = [20];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr[1] = 1;
+ return 0;
+ },
+ configurable: true
+ });
+
+ return arr.indexOf(1) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js
new file mode 100644
index 000000000..93c412891
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js
+ * @description Array.prototype.indexOf must return correct index (Number)
+ */
+
+
+function testcase() {
+ var obj = {toString:function (){return 0}};
+ var one = 1;
+ var _float = -(4/3);
+ var a = new Array(false,undefined,null,"0",obj,-1.3333333333333, "str",-0,true,+0, one, 1,0, false, _float, -(4/3));
+ if (a.indexOf(-(4/3)) === 14 && // a[14]=_float===-(4/3)
+ a.indexOf(0) === 7 && // a[7] = +0, 0===+0
+ a.indexOf(-0) === 7 && // a[7] = +0, -0===+0
+ a.indexOf(1) === 10 ) // a[10] =one=== 1
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js
new file mode 100644
index 000000000..55757bea4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js
+ * @description Array.prototype.indexOf must return correct index(string)
+ */
+
+
+function testcase() {
+ var obj = {toString:function (){return "false"}};
+ var szFalse = "false";
+ var a = new Array("false1",undefined,0,false,null,1,obj,0,szFalse, "false");
+ if (a.indexOf("false") === 8) //a[8]=szFalse
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js
new file mode 100644
index 000000000..b165642b6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js
+ * @description Array.prototype.indexOf must return correct index(undefined)
+ */
+
+
+function testcase() {
+ var obj = {toString:function (){return undefined;}};
+ var _undefined1 = undefined;
+ var _undefined2;
+ var a = new Array(true,0,false,null,1,"undefined",obj,1,_undefined2,_undefined1,undefined);
+ if (a.indexOf(undefined) === 8) //a[8]=_undefined2
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js
new file mode 100644
index 000000000..fa0d76050
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js
+ * @description Array.prototype.indexOf must return correct index (Object)
+ */
+
+
+function testcase() {
+ var obj1 = {toString:function (){return "false"}};
+ var obj2 = {toString:function (){return "false"}};
+ var obj3 = obj1;
+ var a = new Array(false,undefined,0,false,null,{toString:function (){return "false"}},"false",obj2,obj1,obj3);
+ if (a.indexOf(obj3) === 8) //a[8] = obj1;
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js
new file mode 100644
index 000000000..d0b4e82e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js
+ * @description Array.prototype.indexOf must return correct index(null)
+ */
+
+
+function testcase() {
+ var obj = {toString:function (){return null}};
+ var _null = null;
+ var a = new Array(true,undefined,0,false,_null,1,"str",0,1,obj,true,false,null);
+ if (a.indexOf(null) === 4 ) //a[4]=_null
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js
new file mode 100644
index 000000000..b28186666
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js
+ * @description Array.prototype.indexOf must return correct index (self reference)
+ */
+
+
+function testcase() {
+ var a = new Array(0,1,2,3);
+ a[2] = a;
+ if (a.indexOf(a) === 2 &&
+ a.indexOf(3) === 3 )
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js
new file mode 100644
index 000000000..70361d843
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js
+ * @description Array.prototype.indexOf must return correct index (Array)
+ */
+
+
+function testcase() {
+ var b = new Array("0,1");
+ var a = new Array(0,b,"0,1",3);
+ if (a.indexOf(b.toString()) === 2 &&
+ a.indexOf("0,1") === 2 )
+ {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js
new file mode 100644
index 000000000..18c6468eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js
+ * @description Array.prototype.indexOf must return correct index (Sparse Array)
+ */
+
+
+function testcase() {
+ var a = new Array(0,1);
+ a[4294967294] = 2; // 2^32-2 - is max array element
+ a[4294967295] = 3; // 2^32-1 added as non-array element property
+ a[4294967296] = 4; // 2^32 added as non-array element property
+ a[4294967297] = 5; // 2^32+1 added as non-array element property
+
+ // start searching near the end so in case implementation actually tries to test all missing elements!!
+ return (a.indexOf(2,4294967290 ) === 4294967294 &&
+ a.indexOf(3,4294967290) === -1 &&
+ a.indexOf(4,4294967290) === -1 &&
+ a.indexOf(5,4294967290) === -1 ) ;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js
new file mode 100644
index 000000000..6be64f8a8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js
+ * @description Array.prototype.indexOf - added properties in step 2 are visible here
+ */
+
+
+function testcase() {
+
+ var arr = { };
+
+ Object.defineProperty(arr, "length", {
+ get: function () {
+ arr[2] = "length";
+ return 3;
+ },
+ configurable: true
+ });
+
+ return 2 === Array.prototype.indexOf.call(arr, "length");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js
new file mode 100644
index 000000000..f59a763dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js
+ * @description Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ return arr.indexOf(6.99) === 1;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js
new file mode 100644
index 000000000..1922000c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js
+ * @description Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array-like object
+ */
+
+
+function testcase() {
+
+ var arr = { length: 2 };
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ return -1 === Array.prototype.indexOf.call(arr, 6.99);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js
new file mode 100644
index 000000000..29475ab44
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js
+ * @description Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [1, 2];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return "6.99";
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ return -1 === arr.indexOf("6.99");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js
new file mode 100644
index 000000000..f3b34aae7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js
+ * @description Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array-like Object
+ */
+
+
+function testcase() {
+
+ var arr = { 2: 2, length: 20 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete Object.prototype[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[1] = 1;
+ return -1 === Array.prototype.indexOf.call(arr, 1);
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js
new file mode 100644
index 000000000..bfaae3052
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js
+ * @description Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete Array.prototype[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ return -1 === arr.indexOf(1);
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js
new file mode 100644
index 000000000..fe621abdc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js
+ * @description Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array-like object
+ */
+
+
+function testcase() {
+
+ var arr = { 0: 0, 1: 111, 2: 2, length: 10 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[1] = 1;
+ return 1 === Array.prototype.indexOf.call(arr, 1);
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js
new file mode 100644
index 000000000..c5ead2c49
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js
+ * @description Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [0, 111, 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ return 1 === arr.indexOf(1);
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js
new file mode 100644
index 000000000..5f2be99b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js
+ * @description Array.prototype.indexOf - decreasing length of array causes index property not to be visited
+ */
+
+
+function testcase() {
+
+ var arr = [0, 1, 2, "last"];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 3;
+ return 0;
+ },
+ configurable: true
+ });
+
+ return -1 === arr.indexOf("last");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js
new file mode 100644
index 000000000..326699da7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js
+ * @description Array.prototype.indexOf - decreasing length of array with prototype property causes prototype index property to be visited
+ */
+
+
+function testcase() {
+
+ var arr = [0, 1, 2];
+
+ try {
+ Object.defineProperty(Array.prototype, "2", {
+ get: function () {
+ return "prototype";
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ return 2 === arr.indexOf("prototype");
+ } finally {
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js
new file mode 100644
index 000000000..7dc1ed3bc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js
+ * @description Array.prototype.indexOf - decreasing length of array does not delete non-configurable properties
+ */
+
+
+function testcase() {
+
+ var arr = [0, 1, 2];
+
+ Object.defineProperty(arr, "2", {
+ get: function () {
+ return "unconfigurable";
+ },
+ configurable: false
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ return 2 === arr.indexOf("unconfigurable");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js
new file mode 100644
index 000000000..97b0ddfa2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js
+ * @description Array.prototype.indexOf - added properties in step 5 are visible here on an Array-like object
+ */
+
+
+function testcase() {
+
+ var arr = { length: 30 };
+ var targetObj = function () { };
+
+ var fromIndex = {
+ valueOf: function () {
+ arr[4] = targetObj;
+ return 3;
+ }
+ };
+
+ return 4 === Array.prototype.indexOf.call(arr, targetObj, fromIndex);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js
new file mode 100644
index 000000000..222155295
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js
+ * @description Array.prototype.indexOf - added properties in step 5 are visible here on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [];
+ arr.length = 30;
+ var targetObj = function () { };
+
+ var fromIndex = {
+ valueOf: function () {
+ arr[4] = targetObj;
+ return 3;
+ }
+ };
+
+ return 4 === arr.indexOf(targetObj, fromIndex);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js
new file mode 100644
index 000000000..4caf47cf6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js
+ * @description Array.prototype.indexOf - deleted properties in step 2 are visible here
+ */
+
+
+function testcase() {
+
+ var arr = { 2: 6.99 };
+
+ Object.defineProperty(arr, "length", {
+ get: function () {
+ delete arr[2];
+ return 3;
+ },
+ configurable: true
+ });
+
+ return -1 === Array.prototype.indexOf.call(arr, 6.99);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js
new file mode 100644
index 000000000..8c993e5d3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js
+ * @description Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array-like object
+ */
+
+
+function testcase() {
+
+ var arr = { 10: false, length: 30 };
+
+ var fromIndex = {
+ valueOf: function () {
+ delete arr[10];
+ return 3;
+ }
+ };
+
+ return -1 === Array.prototype.indexOf.call(arr, false, fromIndex);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js
new file mode 100644
index 000000000..7cdddee02
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js
+ * @description Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [];
+ arr[10] = "10";
+ arr.length = 20;
+
+ var fromIndex = {
+ valueOf: function () {
+ delete arr[10];
+ return 3;
+ }
+ };
+
+ return -1 === arr.indexOf("10", fromIndex);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js
new file mode 100644
index 000000000..52b993670
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js
+ * @description Array.prototype.indexOf - properties added into own object after current position are visited on an Array-like object
+ */
+
+
+function testcase() {
+
+ var arr = { length: 2 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(arr, 1) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js
new file mode 100644
index 000000000..6ef3311a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js
+ * @description Array.prototype.indexOf - properties added into own object after current position are visited on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ return arr.indexOf(1) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js
new file mode 100644
index 000000000..0aa4fddae
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js
+ * @description Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array-like object
+ */
+
+
+function testcase() {
+
+ var arr = { length: 2 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(Object.prototype, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ return Array.prototype.indexOf.call(arr, 6.99) === 1;
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js
new file mode 100644
index 000000000..e555e2311
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js
+ * @description Array.prototype.indexOf - non-existent property wouldn't be called
+ */
+
+
+function testcase() {
+
+ return [0, , 2].indexOf(undefined) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js
new file mode 100644
index 000000000..9dc216e49
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js
+ * @description Array.prototype.indexOf - element to be retrieved is own data property on an Array-like object
+ */
+
+
+function testcase() {
+ var obj = { 0: 0, 1: 1, 2: 2, length: 3 };
+ return Array.prototype.indexOf.call(obj, 0) === 0 &&
+ Array.prototype.indexOf.call(obj, 1) === 1 &&
+ Array.prototype.indexOf.call(obj, 2) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js
new file mode 100644
index 000000000..7feb7a88f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property on an Array-like object
+ */
+
+
+function testcase() {
+
+ var obj = { length: 3 };
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "2", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return 0 === Array.prototype.indexOf.call(obj, 0) &&
+ 1 === Array.prototype.indexOf.call(obj, 1) &&
+ 2 === Array.prototype.indexOf.call(obj, 2);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js
new file mode 100644
index 000000000..a06c9e5ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [];
+ try {
+ Array.prototype[0] = false;
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return true;
+ },
+ configurable: true
+ });
+
+ return 0 === arr.indexOf(true);
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js
new file mode 100644
index 000000000..4053a408e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object
+ */
+
+
+function testcase() {
+ var obj = { length: 1 };
+
+ try {
+ Object.prototype[0] = false;
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return true;
+ },
+ configurable: true
+ });
+
+ return 0 === Array.prototype.indexOf.call(obj, true);
+ } finally {
+ delete Object.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js
new file mode 100644
index 000000000..5eb6fe5de
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [];
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return false;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return true;
+ },
+ configurable: true
+ });
+
+ return 0 === arr.indexOf(true);
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js
new file mode 100644
index 000000000..818b92c87
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object
+ */
+
+
+function testcase() {
+
+ var obj = { length: 1 };
+
+ try {
+ Object.defineProperty(Object.prototype, "0", {
+ get: function () {
+ return false;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return true;
+ },
+ configurable: true
+ });
+
+ return 0 === Array.prototype.indexOf.call(obj, true);
+ } finally {
+ delete Object.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js
new file mode 100644
index 000000000..e21f501b4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js
+ * @description Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 10;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 20;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(Array.prototype, "2", {
+ get: function () {
+ return 30;
+ },
+ configurable: true
+ });
+
+ return 0 === [, , , ].indexOf(10) &&
+ 1 === [, , , ].indexOf(20) &&
+ 2 === [, , , ].indexOf(30);
+ } finally {
+ delete Array.prototype[0];
+ delete Array.prototype[1];
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js
new file mode 100644
index 000000000..304cd6e81
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js
+ * @description Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array-like object
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty(Object.prototype, "0", {
+ get: function () {
+ return 10;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(Object.prototype, "1", {
+ get: function () {
+ return 20;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(Object.prototype, "2", {
+ get: function () {
+ return 30;
+ },
+ configurable: true
+ });
+
+ return 0 === Array.prototype.indexOf.call({ length: 3 }, 10) &&
+ 1 === Array.prototype.indexOf.call({ length: 3 }, 20) &&
+ 2 === Array.prototype.indexOf.call({ length: 3 }, 30);
+ } finally {
+ delete Object.prototype[0];
+ delete Object.prototype[1];
+ delete Object.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js
new file mode 100644
index 000000000..d881cbff4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [];
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ return arr.indexOf(undefined) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js
new file mode 100644
index 000000000..1d98da090
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array-like object
+ */
+
+
+function testcase() {
+
+ var obj = { length: 1 };
+ Object.defineProperty(obj, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ return 0 === Array.prototype.indexOf.call(obj, undefined);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js
new file mode 100644
index 000000000..69d38d5b6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return arr.indexOf(undefined) === 0;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js
new file mode 100644
index 000000000..6a8cfb289
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js
+ * @description Array.prototype.indexOf - element to be retrieved is own data property on an Array
+ */
+
+
+function testcase() {
+ return [true, true, true].indexOf(true) === 0 &&
+ [false, true, true].indexOf(true) === 1 &&
+ [false, false, true].indexOf(true) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js
new file mode 100644
index 000000000..7773dc9d8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object
+ */
+
+
+function testcase() {
+
+ var proto = {};
+ Object.defineProperty(proto, "0", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 1;
+
+ Object.defineProperty(child, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(child, undefined) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js
new file mode 100644
index 000000000..e5cc071bb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js
+ * @description Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ set: function () { },
+ configurable: true
+ });
+ return 0 === [, ].indexOf(undefined);
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js
new file mode 100644
index 000000000..bb221852b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js
+ * @description Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array-like object
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty(Object.prototype, "0", {
+ set: function () { },
+ configurable: true
+ });
+ return 0 === Array.prototype.indexOf.call({ length: 1 }, undefined);
+ } finally {
+ delete Object.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js
new file mode 100644
index 000000000..b023f875e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js
+ * @description Array.prototype.indexOf - This object is the global object
+ */
+
+
+function testcase() {
+
+ var targetObj = {};
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject()[0] = targetObj;
+ fnGlobalObject()[100] = "100";
+ fnGlobalObject()[200] = "200";
+ fnGlobalObject().length = 200;
+ return 0 === Array.prototype.indexOf.call(fnGlobalObject(), targetObj) &&
+ 100 === Array.prototype.indexOf.call(fnGlobalObject(), "100") &&
+ -1 === Array.prototype.indexOf.call(fnGlobalObject(), "200");
+ } finally {
+ delete fnGlobalObject()[0];
+ delete fnGlobalObject()[100];
+ delete fnGlobalObject()[200];
+ fnGlobalObject().length = oldLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js
new file mode 100644
index 000000000..dd2717d2b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js
+ * @description Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)
+ */
+
+
+function testcase() {
+
+ var func = function (a, b) {
+ return 0 === Array.prototype.indexOf.call(arguments, arguments[0]) &&
+ -1 === Array.prototype.indexOf.call(arguments, arguments[1]);
+ };
+
+ return func(true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js
new file mode 100644
index 000000000..1c12b89ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js
+ * @description Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)
+ */
+
+
+function testcase() {
+
+ var func = function (a, b) {
+ return 0 === Array.prototype.indexOf.call(arguments, arguments[0]) &&
+ 1 === Array.prototype.indexOf.call(arguments, arguments[1]) &&
+ -1 === Array.prototype.indexOf.call(arguments, arguments[2]);
+ };
+
+ return func(0, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js
new file mode 100644
index 000000000..7711207e0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js
+ * @description Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)
+ */
+
+
+function testcase() {
+
+ var func = function (a, b) {
+ return 0 === Array.prototype.indexOf.call(arguments, arguments[0]) &&
+ 3 === Array.prototype.indexOf.call(arguments, arguments[3]) &&
+ -1 === Array.prototype.indexOf.call(arguments, arguments[4]);
+ };
+
+ return func(0, false, 0, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js
new file mode 100644
index 000000000..b4c0399b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js
+ * @description Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array
+ */
+
+
+function testcase() {
+
+ var preIterVisible = false;
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ preIterVisible = true;
+ return false;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ if (preIterVisible) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ configurable: true
+ });
+
+ return arr.indexOf(true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js
new file mode 100644
index 000000000..7049e97eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js
+ * @description Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array-like object
+ */
+
+
+function testcase() {
+
+ var preIterVisible = false;
+ var obj = { length: 2 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ preIterVisible = true;
+ return false;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ if (preIterVisible) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ configurable: true
+ });
+
+ return Array.prototype.indexOf.call(obj, true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js
new file mode 100644
index 000000000..b9f76de04
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js
+ * @description Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array
+ */
+
+
+function testcase() {
+ try {
+ Array.prototype[0] = false;
+ return [true].indexOf(true) === 0;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js
new file mode 100644
index 000000000..cf786a99a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js
+ * @description Array.prototype.indexOf - terminates iteration on unhandled exception on an Array
+ */
+
+
+function testcase() {
+
+ var accessed = false;
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ throw new TypeError();
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ accessed = true;
+ return true;
+ },
+ configurable: true
+ });
+
+ try {
+ arr.indexOf(true);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && !accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js
new file mode 100644
index 000000000..7ce6857cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js
+ * @description Array.prototype.indexOf - terminates iteration on unhandled exception on an Array-like object
+ */
+
+
+function testcase() {
+
+ var accessed = false;
+ var obj = { length: 2 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ throw new TypeError();
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ accessed = true;
+ return true;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.indexOf.call(obj, true);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && !accessed;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js
new file mode 100644
index 000000000..7b6b5c52b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js
+ * @description Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object
+ */
+
+
+function testcase() {
+
+ try {
+ Object.prototype[0] = false;
+ return 0 === Array.prototype.indexOf.call({ 0: true, 1: 1, length: 2 }, true);
+ } finally {
+ delete Object.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js
new file mode 100644
index 000000000..1a87df9df
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js
+ * @description Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return false;
+ },
+ configurable: true
+ });
+ return 0 === [true].indexOf(true);
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js
new file mode 100644
index 000000000..680883a08
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js
+ * @description Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty(Object.prototype, "0", {
+ get: function () {
+ return false;
+ },
+ configurable: true
+ });
+ return 0 === Array.prototype.indexOf.call({ 0: true, 1: 1, length: 2 }, true);
+ } finally {
+ delete Object.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js
new file mode 100644
index 000000000..39dc4cde1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js
+ * @description Array.prototype.indexOf - element to be retrieved is inherited data property on an Array
+ */
+
+
+function testcase() {
+ try {
+ Array.prototype[0] = true;
+ Array.prototype[1] = false;
+ Array.prototype[2] = "true";
+ return 0 === [, , , ].indexOf(true) &&
+ 1 === [, , , ].indexOf(false) &&
+ 2 === [, , , ].indexOf("true");
+ } finally {
+ delete Array.prototype[0];
+ delete Array.prototype[1];
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js
new file mode 100644
index 000000000..f39c54cfd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js
+ * @description Array.prototype.indexOf - element to be retrieved is inherited data property on an Array-like object
+ */
+
+
+function testcase() {
+
+ try {
+ Object.prototype[0] = true;
+ Object.prototype[1] = false;
+ Object.prototype[2] = "true";
+ return 0 === Array.prototype.indexOf.call({ length: 3 }, true) &&
+ 1 === Array.prototype.indexOf.call({ length: 3 }, false) &&
+ 2 === Array.prototype.indexOf.call({ length: 3 }, "true");
+ } finally {
+ delete Object.prototype[0];
+ delete Object.prototype[1];
+ delete Object.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js
new file mode 100644
index 000000000..ca6840d48
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js
+ * @description Array.prototype.indexOf - element to be retrieved is own accessor property on an Array
+ */
+
+
+function testcase() {
+
+ var arr = [, , , ];
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "2", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return arr.indexOf(0) === 0 && arr.indexOf(1) === 1 && arr.indexOf(2) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js
new file mode 100644
index 000000000..3cd53d49e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js
+ * @description Array.prototype.indexOf - type of array element is different from type of search element
+ */
+
+
+function testcase() {
+
+ return ["true"].indexOf(true) === -1 &&
+ ["0"].indexOf(0) === -1 &&
+ [false].indexOf(0) === -1 &&
+ [undefined].indexOf(0) === -1 &&
+ [null].indexOf(0) === -1 &&
+ [[]].indexOf(0) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js
new file mode 100644
index 000000000..c580be26c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js
+ * @description Array.prototype.indexOf - both array element and search element are Boolean type, and they have same value
+ */
+
+
+function testcase() {
+
+ return [false, true].indexOf(true) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js
new file mode 100644
index 000000000..c264c025e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js
+ * @description Array.prototype.indexOf - both array element and search element are Object type, and they refer to the same object
+ */
+
+
+function testcase() {
+
+ var obj1 = {};
+ var obj2 = {};
+ var obj3 = obj2;
+ return [{}, obj1, obj2].indexOf(obj3) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js
new file mode 100644
index 000000000..27c083d35
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js
+ * @description Array.prototype.indexOf - both type of array element and type of search element are Undefined
+ */
+
+
+function testcase() {
+
+ return [undefined].indexOf() === 0 && [undefined].indexOf(undefined) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js
new file mode 100644
index 000000000..2fa119944
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js
+ * @description Array.prototype.indexOf - both type of array element and type of search element are null
+ */
+
+
+function testcase() {
+
+ return [null].indexOf(null) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js
new file mode 100644
index 000000000..8ced494a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js
+ * @description Array.prototype.indexOf - search element is NaN
+ */
+
+
+function testcase() {
+
+ return [+NaN, NaN, -NaN].indexOf(NaN) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js
new file mode 100644
index 000000000..c8d58669c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js
+ * @description Array.prototype.indexOf - search element is -NaN
+ */
+
+
+function testcase() {
+
+ return [+NaN, NaN, -NaN].indexOf(-NaN) === -1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js
new file mode 100644
index 000000000..45c34ce18
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js
+ * @description Array.prototype.indexOf - array element is +0 and search element is -0
+ */
+
+
+function testcase() {
+
+ return [+0].indexOf(-0) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js
new file mode 100644
index 000000000..71c465845
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js
+ * @description Array.prototype.indexOf - array element is -0 and search element is +0
+ */
+
+
+function testcase() {
+
+ return [-0].indexOf(+0) === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js
new file mode 100644
index 000000000..86e209016
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js
+ * @description Array.prototype.indexOf - both array element and search element are Number, and they have same value
+ */
+
+
+function testcase() {
+
+ return [-1, 0, 1].indexOf(1) === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js
new file mode 100644
index 000000000..7d59a78af
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js
+ * @description Array.prototype.indexOf - both array element and search element are String, and they have exactly the same sequence of characters
+ */
+
+
+function testcase() {
+
+ return ["", "ab", "bca", "abc"].indexOf("abc") === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js
new file mode 100644
index 000000000..0fd61dece
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js
@@ -0,0 +1,31 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js
+ * @description Array.prototype.indexOf - returns index of last one when more than two elements in array are eligible
+ */
+
+
+function testcase() {
+
+ return [1, 2, 2, 1, 2].indexOf(2) === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js
new file mode 100644
index 000000000..cd4a19ecd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js
+ * @description Array.prototype.indexOf - returns without visiting subsequent element once search value is found
+ */
+
+
+function testcase() {
+ var arr = [1, 2, , 1, 2];
+ var elementThirdAccessed = false;
+ var elementFifthAccessed = false;
+
+ Object.defineProperty(arr, "2", {
+ get: function () {
+ elementThirdAccessed = true;
+ return 2;
+ },
+ configurable: true
+ });
+ Object.defineProperty(arr, "4", {
+ get: function () {
+ elementFifthAccessed = true;
+ return 2;
+ },
+ configurable: true
+ });
+
+ arr.indexOf(2);
+ return !elementThirdAccessed && !elementFifthAccessed;
+ }
+runTestCase(testcase);