aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15')
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js35
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-2.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js66
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js71
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-9.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-2.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-3.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-5.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-2.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-3.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-2.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-10.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-2.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-3.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-5.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js58
154 files changed, 6906 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js
new file mode 100644
index 000000000..55ae3ab20
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-0-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js",
+
+description: "Array.prototype.lastIndexOf must exist as a function",
+
+test: function testcase() {
+ var f = Array.prototype.lastIndexOf;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-2.js
new file mode 100644
index 000000000..54bdd4911
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-0-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-2.js",
+
+description: "Array.prototype.lastIndexOf has a length property whose value is 1.",
+
+test: function testcase() {
+ if (Array.prototype.lastIndexOf.length === 1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js
new file mode 100644
index 000000000..0ebf2da1e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-1-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js",
+
+ description: "Array.prototype.lastIndexOf applied to undefined throws a TypeError",
+
+ test: function testcase() {
+
+ try {
+ Array.prototype.lastIndexOf.call(undefined);
+ return false;
+ } catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js
new file mode 100644
index 000000000..409433e00
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-1-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js",
+
+ description: "Array.prototype.lastIndexOf applied to the Math object",
+
+ test: function testcase() {
+
+ try {
+ Math.length = 2;
+ Math[1] = 100;
+ return 1 === Array.prototype.lastIndexOf.call(Math, 100);
+ } finally {
+ delete Math.length;
+ delete Math[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js
new file mode 100644
index 000000000..58b7b7650
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-1-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js",
+
+ description: "Array.prototype.lastIndexOf applied to Date object",
+
+ test: function testcase() {
+
+ var obj = new Date();
+ obj.length = 2;
+ obj[1] = true;
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js
new file mode 100644
index 000000000..85d976a32
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js",
+
+ description: "Array.prototype.lastIndexOf applied to RegExp object",
+
+ test: function testcase() {
+
+ var obj = new RegExp("afdasf");
+ obj.length = 100;
+ obj[1] = "afdasf";
+
+ return Array.prototype.lastIndexOf.call(obj, "afdasf") === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js
new file mode 100644
index 000000000..f91c72f09
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js",
+
+ description: "Array.prototype.lastIndexOf applied to the JSON object",
+
+ test: function testcase() {
+
+ var targetObj = {};
+ try {
+ JSON[3] = targetObj;
+ JSON.length = 5;
+ return 3 === Array.prototype.lastIndexOf.call(JSON, targetObj);
+ } finally {
+ delete JSON[3];
+ delete JSON.length;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js
new file mode 100644
index 000000000..477c0b69a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js",
+
+ description: "Array.prototype.lastIndexOf applied to Error object",
+
+ test: function testcase() {
+
+ var obj = new SyntaxError();
+ obj.length = 2;
+ obj[1] = Infinity;
+
+ return Array.prototype.lastIndexOf.call(obj, Infinity) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js
new file mode 100644
index 000000000..d68b7e526
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-1-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js",
+
+ description: "Array.prototype.lastIndexOf applied to the Arguments object",
+
+ test: function testcase() {
+
+ var obj = (function fun() {
+ return arguments;
+ }(1, 2, 3));
+
+ return Array.prototype.lastIndexOf.call(obj, 2) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js
new file mode 100644
index 000000000..94c81443b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-1-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js",
+
+ description: "Array.prototype.lastIndexOf applied to null throws a TypeError",
+
+ test: function testcase() {
+
+ try {
+ Array.prototype.lastIndexOf.call(null);
+ return false;
+ } catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js
new file mode 100644
index 000000000..59c76d72e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js",
+
+ description: "Array.prototype.lastIndexOf applied to boolean primitive",
+
+ test: function testcase() {
+
+ try {
+ Boolean.prototype[1] = true;
+ Boolean.prototype.length = 2;
+
+ return 1 === Array.prototype.lastIndexOf.call(true, true);
+ } finally {
+ delete Boolean.prototype[1];
+ delete Boolean.prototype.length;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js
new file mode 100644
index 000000000..1b0728bf1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js",
+
+ description: "Array.prototype.lastIndexOf applied to Boolean object",
+
+ test: function testcase() {
+
+ var obj = new Boolean(false);
+ obj.length = 2;
+ obj[1] = true;
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js
new file mode 100644
index 000000000..33a0b9b7f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js",
+
+ description: "Array.prototype.lastIndexOf applied to number primitive",
+
+ test: function testcase() {
+
+ try {
+ Number.prototype[1] = isNaN;
+ Number.prototype.length = 2;
+ return 1 === Array.prototype.lastIndexOf.call(5, isNaN);
+ } finally {
+ delete Number.prototype[1];
+ delete Number.prototype.length;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js
new file mode 100644
index 000000000..138326fa1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js",
+
+ description: "Array.prototype.lastIndexOf applied to Number object",
+
+ test: function testcase() {
+
+ var obj = new Number(-3);
+ obj.length = 2;
+ obj[1] = true;
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.js
new file mode 100644
index 000000000..9b238ca7a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.js",
+
+ description: "Array.prototype.lastIndexOf applied to string primitive",
+
+ test: function testcase() {
+
+ return Array.prototype.lastIndexOf.call("abc", "c") === 2;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js
new file mode 100644
index 000000000..a6a5b9769
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-1-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js",
+
+ description: "Array.prototype.lastIndexOf applied to String object",
+
+ test: function testcase() {
+
+ var obj = new String("undefined");
+
+ return Array.prototype.lastIndexOf.call(obj, "f") === 4;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js
new file mode 100644
index 000000000..74bbd4235
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js
@@ -0,0 +1,45 @@
+/// 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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-1-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js",
+
+ description: "Array.prototype.lastIndexOf applied to Function object",
+
+ test: function testcase() {
+
+ var obj = function (a, b) {
+ return a + b;
+ };
+ obj[1] = true;
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js
new file mode 100644
index 000000000..fea804193
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own data property on an Array-like object",
+
+ test: function testcase() {
+ var obj = { 1: null, 2: undefined, length: 2 };
+
+ return Array.prototype.lastIndexOf.call(obj, null) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, undefined) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js
new file mode 100644
index 000000000..3fc9d662f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+
+ var proto = {};
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[1] = 1;
+ child[2] = 2;
+
+ return Array.prototype.lastIndexOf.call(child, 1) === 1 &&
+ Array.prototype.lastIndexOf.call(child, 2) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js
new file mode 100644
index 000000000..3c8534c98
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js
@@ -0,0 +1,45 @@
+/// 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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own accessor property without a get function on an Array-like object",
+
+ test: function testcase() {
+
+ var obj = { 0: 1 };
+ Object.defineProperty(obj, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ return Array.prototype.lastIndexOf.call(obj, 1) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js
new file mode 100644
index 000000000..49d09bbab
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object",
+
+ test: 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.lastIndexOf.call(obj, 1) === -1;
+ } finally {
+ delete Object.prototype.length;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js
new file mode 100644
index 000000000..acddb12be
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is inherited accessor property without a get function on an Array-like object",
+
+ test: function testcase() {
+
+ var proto = {};
+ Object.defineProperty(proto, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[0] = true;
+
+ return Array.prototype.lastIndexOf.call(child, true) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js
new file mode 100644
index 000000000..e6be2acf1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is undefined property on an Array-like object",
+
+ test: function testcase() {
+
+ var obj = { 0: null, 1: undefined };
+
+ return Array.prototype.lastIndexOf.call(obj, null) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js
new file mode 100644
index 000000000..6942783f6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js",
+
+ description: "Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method",
+
+ test: function testcase() {
+
+ var targetObj = function () { };
+ var func = function (a, b) {
+ arguments[2] = function () { };
+ return Array.prototype.lastIndexOf.call(arguments, targetObj) === 1 &&
+ Array.prototype.lastIndexOf.call(arguments, arguments[2]) === -1;
+ };
+
+ return func(0, targetObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js
new file mode 100644
index 000000000..0aaee133a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js",
+
+ description: "Array.prototype.lastIndexOf applied to String object which implements its own property get method",
+
+ test: function testcase() {
+
+ var str = new String("012");
+ try {
+ String.prototype[3] = "3";
+ return Array.prototype.lastIndexOf.call(str, "2") === 2 &&
+ Array.prototype.lastIndexOf.call(str, "3") === -1;
+ } finally {
+ delete String.prototype[3];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js
new file mode 100644
index 000000000..b159d785e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js",
+
+ description: "Array.prototype.lastIndexOf applied to String object which implements its own property get method",
+
+ test: function testcase() {
+
+ var obj = function (a, b) {
+ return a + b;
+ };
+ obj[1] = "b";
+ obj[2] = "c";
+
+ return Array.prototype.lastIndexOf.call(obj, obj[1]) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, obj[2]) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js
new file mode 100644
index 000000000..c4fabcbbe
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own data property on an Array",
+
+ test: function testcase() {
+ var targetObj = {};
+ try {
+ Array.prototype[2] = targetObj;
+
+ return [0, targetObj].lastIndexOf(targetObj) === 1 &&
+ [0, 1].lastIndexOf(targetObj) === -1;
+ } finally {
+ delete Array.prototype[2];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js
new file mode 100644
index 000000000..2409d5b78
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-2-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ var proto = {length: 0};
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+ child[1] = child;
+
+ return Array.prototype.lastIndexOf.call(child, child) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js
new file mode 100644
index 000000000..5a68a1d20
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js",
+
+ description: "Array.prototype.lastIndexOf when 'length' is own data property that overrides an inherited data property on an Array",
+
+ test: function testcase() {
+
+ var targetObj = {};
+ var arrProtoLen;
+ try {
+ arrProtoLen = Array.prototype.length;
+ Array.prototype.length = 0;
+ return [0, targetObj, 2].lastIndexOf(targetObj) === 1;
+ } finally {
+ Array.prototype.length = arrProtoLen;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js
new file mode 100644
index 000000000..b6f600fdb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-2-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object",
+
+ test: 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] = null;
+
+ return Array.prototype.lastIndexOf.call(child, null) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js
new file mode 100644
index 000000000..de309337f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is an inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ var proto = { length: 2 };
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[1] = "x";
+ child[2] = "y";
+
+ return Array.prototype.lastIndexOf.call(child, "x") === 1 &&
+ Array.prototype.lastIndexOf.call(child, "y") === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js
new file mode 100644
index 000000000..9fdf11271
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own accessor property on an Array-like object",
+
+ test: function testcase() {
+
+ var obj = { 1: true, 2: false };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, false) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js
new file mode 100644
index 000000000..7016bac46
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ var proto = { length: 0 };
+
+ var Con = function () {};
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[1] = eval;
+
+ Object.defineProperty(child, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.lastIndexOf.call(child, eval) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js
new file mode 100644
index 000000000..b0c8be5b5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-2-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited accessor property on an Array-like object",
+
+ test: 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.lastIndexOf.call(child, true) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js
new file mode 100644
index 000000000..64443c584
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is undefined",
+
+ test: function testcase() {
+
+ var obj = { 0: 1, 1: 1, length: undefined };
+
+ return Array.prototype.lastIndexOf.call(obj, 1) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js
new file mode 100644
index 000000000..5e23f7c97
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is NaN)",
+
+ test: function testcase() {
+
+ var obj = { 0: 0, length: NaN };
+
+ return Array.prototype.lastIndexOf.call(obj, 0) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js
new file mode 100644
index 000000000..7b065b55f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string containing positive number",
+
+ test: function testcase() {
+
+ var obj = {1: true, 2: false, length: "2"};
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, false) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js
new file mode 100644
index 000000000..60b51280d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string containing negative number",
+
+ test: function testcase() {
+
+ var obj = {1: null, 2: undefined, length: "-4294967294"};
+
+ return Array.prototype.lastIndexOf.call(obj, null) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, undefined) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js
new file mode 100644
index 000000000..6f38e63b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string containing a decimal number",
+
+ test: function testcase() {
+
+ var obj = { 4: 4, 5: 5, length: "5.512345" };
+
+ return Array.prototype.lastIndexOf.call(obj, 4) === 4 &&
+ Array.prototype.lastIndexOf.call(obj, 5) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js
new file mode 100644
index 000000000..813ac8ca5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js
@@ -0,0 +1,45 @@
+/// 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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string containing +/-Infinity",
+
+ test: 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.lastIndexOf.call(objOne, true) === -1 &&
+ Array.prototype.lastIndexOf.call(objTwo, true) === -1 &&
+ Array.prototype.lastIndexOf.call(objThree, true) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js
new file mode 100644
index 000000000..0827ee2cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string containing an exponential number",
+
+ test: function testcase() {
+
+ var obj = {229: 229, 230: 2.3E2, length: "2.3E2"};
+
+ return Array.prototype.lastIndexOf.call(obj, 229) === 229 &&
+ Array.prototype.lastIndexOf.call(obj, 2.3E2) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js
new file mode 100644
index 000000000..e516ba1b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string which is able to be converted into hex number",
+
+ test: function testcase() {
+
+ var obj = { 2573: 2573, 2574: 0x000A0E, length: "0x000A0E" };
+
+ return Array.prototype.lastIndexOf.call(obj, 2573) === 2573 &&
+ Array.prototype.lastIndexOf.call(obj, 0x000A0E) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js
new file mode 100644
index 000000000..13f7dcb07
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string containing a number with leading zeros",
+
+ test: function testcase() {
+
+ var obj = { 1: 1, 2: 2, length: "0002.0" };
+
+ return Array.prototype.lastIndexOf.call(obj, 1) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, 2) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js
new file mode 100644
index 000000000..9014679eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a string that can't convert to a number",
+
+ test: function testcase() {
+ var targetObj = new String("123abc123");
+ var obj = { 0: targetObj, length: "123abc123" };
+
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js
new file mode 100644
index 000000000..6393a87c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is an Object which has an own toString method",
+
+ test: 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 targetObj = fnGlobalObject();
+ var obj = {
+ 1: targetObj,
+ 2: 2,
+
+ length: {
+ toString: function () {
+ return '2';
+ }
+ }
+ };
+
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, 2) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js
new file mode 100644
index 000000000..554cf97c0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-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.
+
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js",
+
+ description: "Array.prototype.lastIndexOf return -1 when value of 'length' is a boolean (value is true)",
+
+ test: function testcase() {
+ var obj = { 0: 0, 1: 1, length: true };
+ return Array.prototype.lastIndexOf.call(obj, 0) === 0 &&
+ Array.prototype.lastIndexOf.call(obj, 1) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js
new file mode 100644
index 000000000..49b3c1477
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-20",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is an Object which has an own valueOf method",
+
+ test: 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.lastIndexOf.call(obj, true) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, 2) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js
new file mode 100644
index 000000000..dbef906e8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-21",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string",
+
+ test: function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var targetObj = this;
+ var obj = {
+ 1: targetObj,
+ length: {
+ toString: function () {
+ toStringAccessed = true;
+ return '3';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ };
+
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === 1 && toStringAccessed && valueOfAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js
new file mode 100644
index 000000000..681c16b2e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-22",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js",
+
+ description: "Array.prototype.lastIndexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don’t return primitive values",
+
+ test: function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var obj = {
+ 1: true,
+ length: {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ };
+
+ try {
+ Array.prototype.lastIndexOf.call(obj, true);
+ return false;
+ } catch (e) {
+ return toStringAccessed && valueOfAccessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js
new file mode 100644
index 000000000..f9dc0f25a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js
@@ -0,0 +1,63 @@
+/// 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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-23",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js",
+
+ description: "Array.prototype.lastIndexOf uses inherited valueOf method when 'length' is an object with an own toString and an inherited valueOf methods",
+
+ test: 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: child,
+ length: child
+ };
+
+ return Array.prototype.lastIndexOf.call(obj, child) === 1 && valueOfAccessed && !toStringAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js
new file mode 100644
index 000000000..8244a562e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-24",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction",
+
+ test: function testcase() {
+
+ var obj = { 122: true, 123: false, length: 123.5 };
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 122 &&
+ Array.prototype.lastIndexOf.call(obj, false) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js
new file mode 100644
index 000000000..e7b98ff57
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-25",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction",
+
+ test: function testcase() {
+
+ var obj = { 1: true, 2: false, length: -4294967294.5 };
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, false) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js
new file mode 100644
index 000000000..00b16eb9b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-28",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32)",
+
+ test: function testcase() {
+
+ var targetObj = {};
+ var obj = {
+ 0: targetObj,
+ 4294967294: targetObj,
+ 4294967295: targetObj,
+ length: 4294967296
+ };
+
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === -1; //verify length is 0 finally
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js
new file mode 100644
index 000000000..df5a0f5a8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-29",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32 + 1)",
+
+ test: function testcase() {
+
+ var targetObj = {};
+ var obj = {
+ 0: targetObj,
+ 1: 4294967297,
+ length: 4294967297
+ };
+
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === 0 &&
+ Array.prototype.lastIndexOf.call(obj, 4294967297) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js
new file mode 100644
index 000000000..00f50b3c5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is 0)",
+
+ test: function testcase() {
+
+ var obj = { 0: "undefined", length: 0 };
+
+ return Array.prototype.lastIndexOf.call(obj, "undefined") === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js
new file mode 100644
index 000000000..d8756ee60
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is -0)",
+
+ test: function testcase() {
+
+ var obj = { 0: true, length: -0 };
+
+ return Array.prototype.lastIndexOf.call(obj, true) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js
new file mode 100644
index 000000000..3d8f99854
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is +0)",
+
+ test: function testcase() {
+
+ var obj = { 0: +0, length: +0 };
+
+ return Array.prototype.lastIndexOf.call(obj, +0) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js
new file mode 100644
index 000000000..59e83fcdc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is a positive number)",
+
+ test: function testcase() {
+
+ var obj = { 99: true, 100: 100, length: 100 };
+
+ return Array.prototype.lastIndexOf.call(obj, true) === 99 &&
+ Array.prototype.lastIndexOf.call(obj, 100) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js
new file mode 100644
index 000000000..39006a8ed
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is a negative number)",
+
+ test: function testcase() {
+
+ var obj = { 4: -Infinity, 5: Infinity, length: 5 - Math.pow(2, 32) };
+
+ return Array.prototype.lastIndexOf.call(obj, -Infinity) === 4 &&
+ Array.prototype.lastIndexOf.call(obj, Infinity) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js
new file mode 100644
index 000000000..251fd34dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-3-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is Infinity)",
+
+ test: function testcase() {
+
+ var obj = { 0: 0, length: Infinity };
+
+ return Array.prototype.lastIndexOf.call(obj, 0) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js
new file mode 100644
index 000000000..3af32c956
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-3-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'length' is a number (value is -Infinity)",
+
+ test: function testcase() {
+
+ var obj = { 0: 0, length: -Infinity };
+
+ return Array.prototype.lastIndexOf.call(obj, 0) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js
new file mode 100644
index 000000000..4129c6e56
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 (empty array)",
+
+test: function testcase() {
+ var i = [].lastIndexOf(42);
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js
new file mode 100644
index 000000000..6a005c6ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-4-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is a number of value -6e-1",
+
+ test: function testcase() {
+ var targetObj = [];
+ var obj = { 0: targetObj, 100: targetObj, length: -6e-1 };
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js
new file mode 100644
index 000000000..6ef6ccc01
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-4-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is an empty string",
+
+ test: function testcase() {
+ var targetObj = [];
+ var obj = { 0: targetObj, 100: targetObj, length: "" };
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js
new file mode 100644
index 000000000..56810e97c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))",
+
+test: function testcase() {
+
+ var i = Array.prototype.lastIndexOf.call({length: null}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js
new file mode 100644
index 000000000..752c5162c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))",
+
+test: function testcase() {
+
+ var i = Array.prototype.lastIndexOf.call({length: false}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js
new file mode 100644
index 000000000..ba2738d92
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-4",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = 0;
+
+ var i = Array.prototype.lastIndexOf.call({length: 0}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js
new file mode 100644
index 000000000..de3576f28
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-5",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))",
+
+test: function testcase() {
+
+ var i = Array.prototype.lastIndexOf.call({length: '0'}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js
new file mode 100644
index 000000000..77862525d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-6",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)",
+
+test: function testcase() {
+
+ var i = Array.prototype.lastIndexOf.call({length: { valueOf: function () { return 0;}}}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js
new file mode 100644
index 000000000..54a4fea96
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-7",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+
+ var o = { toString: function () { return '0';}};
+ f.length = o;
+
+ // 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.lastIndexOf.call({length: { toString: function () { return '0';}}}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js
new file mode 100644
index 000000000..59c2b2390
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js
@@ -0,0 +1,56 @@
+/// 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.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-4-8",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js",
+
+description: "Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length is an empty array)",
+
+test: 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.lastIndexOf.call({length: [ ]}, 1);
+
+ if (i === -1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js
new file mode 100644
index 000000000..2652ae829
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-4-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js",
+
+ description: "Array.prototype.lastIndexOf - 'length' is a number of value 0.1",
+
+ test: function testcase() {
+ var targetObj = [];
+ var obj = { 0: targetObj, 100: targetObj, length: 0.1 };
+ return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js
new file mode 100644
index 000000000..17a3c062c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-5-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js",
+
+description: "Array.prototype.lastIndexOf when fromIndex is string",
+
+test: function testcase() {
+ var a = new Array(0,1,1);
+ if (a.lastIndexOf(1,"1") === 1 && // "1" resolves to 1
+ a.lastIndexOf(1,"one") === -1) { // NaN string resolves to 0
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js
new file mode 100644
index 000000000..a996155cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is positive number)",
+
+ test: function testcase() {
+ var targetObj = {};
+ return [0, targetObj, true].lastIndexOf(targetObj, 1.5) === 1 &&
+ [0, true, targetObj].lastIndexOf(targetObj, 1.5) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js
new file mode 100644
index 000000000..90688bca3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is negative number)",
+
+ test: function testcase() {
+ var targetObj = {};
+ return [0, targetObj, true].lastIndexOf(targetObj, -2.5) === 1 &&
+ [0, true, targetObj].lastIndexOf(targetObj, -2.5) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js
new file mode 100644
index 000000000..ad2b99ab8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is Infinity)",
+
+ test: function testcase() {
+ var arr = [];
+ arr[Math.pow(2, 32) - 2] = null; // length is the max value of Uint type
+ return arr.lastIndexOf(null, Infinity) === (Math.pow(2, 32) - 2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.js
new file mode 100644
index 000000000..624ffe32c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -Infinity)",
+
+ test: function testcase() {
+
+ return [true].lastIndexOf(true, -Infinity) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.js
new file mode 100644
index 000000000..fc39daff3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is NaN)",
+
+ test: function testcase() {
+
+ return [0, true].lastIndexOf(true, NaN) === -1 && // from Index will be convert to +0
+ [true, 0].lastIndexOf(true, NaN) === 0 &&
+ [0, true].lastIndexOf(true, -NaN) === -1 &&
+ [true, 0].lastIndexOf(true, -NaN) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.js
new file mode 100644
index 000000000..acc405544
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a negative number",
+
+ test: function testcase() {
+
+ return [0, "-2", 2].lastIndexOf("-2", "-2") === 1 &&
+ [0, 2, "-2"].lastIndexOf("-2", "-2") === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js
new file mode 100644
index 000000000..6d9053b41
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing Infinity",
+
+ test: function testcase() {
+ var arr = [];
+ arr[Math.pow(2, 32) - 2] = true; // length is the max value of Uint type
+ return arr.lastIndexOf(true, "Infinity") === (Math.pow(2, 32) - 2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.js
new file mode 100644
index 000000000..d2d14329f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing -Infinity",
+
+ test: function testcase() {
+
+ return [true].lastIndexOf(true, "-Infinity") === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js
new file mode 100644
index 000000000..d401cfded
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing an exponential number",
+
+ test: function testcase() {
+ var targetObj = {};
+ return [0, NaN, targetObj, 3, false].lastIndexOf(targetObj, "2E0") === 2 &&
+ [0, NaN, 3, targetObj, false].lastIndexOf(targetObj, "2E0") === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js
new file mode 100644
index 000000000..693d50304
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a hex number",
+
+ test: function testcase() {
+ var targetObj = {};
+ return [0, true, targetObj, 3, false].lastIndexOf(targetObj, "0x0002") === 2 &&
+ [0, true, 3, targetObj, false].lastIndexOf(targetObj, "0x0002") === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js
new file mode 100644
index 000000000..34a81513b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-5-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js",
+
+description: "Array.prototype.lastIndexOf when fromIndex is floating point number",
+
+test: function testcase() {
+ var a = new Array(1,2,1);
+ if (a.lastIndexOf(2,1.49) === 1 && // 1.49 resolves to 1
+ a.lastIndexOf(2,0.51) === -1 && // 0.51 resolves to 0
+ a.lastIndexOf(1,0.51) === 0){ // 0.51 resolves to 0
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js
new file mode 100644
index 000000000..e0173ca48
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-20",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' which is a string containing a number with leading zeros",
+
+ test: function testcase() {
+ var targetObj = {};
+ return [0, true, targetObj, 3, false].lastIndexOf(targetObj, "0002.10") === 2 &&
+ [0, true, 3, targetObj, false].lastIndexOf(targetObj, "0002.10") === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js
new file mode 100644
index 000000000..98f03dcff
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-21",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' which is an Object, and has an own toString method",
+
+ test: 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 '2';
+ }
+ };
+ var targetObj = new RegExp();
+
+ return [0, true, targetObj, 3, false].lastIndexOf(targetObj, fromIndex) === 2 &&
+ [0, true, 3, targetObj, false].lastIndexOf(targetObj, fromIndex) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js
new file mode 100644
index 000000000..a15a357a3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-22",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' which is an object, and has an own valueOf method",
+
+ test: function testcase() {
+
+ var fromIndex = {
+ valueOf: function () {
+ return 2;
+ }
+ };
+
+ var targetObj = function () {};
+ return [0, true, targetObj, 3, false].lastIndexOf(targetObj, fromIndex) === 2 &&
+ [0, true, 3, targetObj, false].lastIndexOf(targetObj, fromIndex) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js
new file mode 100644
index 000000000..4fcf52b0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-23",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string",
+
+ test: function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var fromIndex = {
+ toString: function () {
+ toStringAccessed = true;
+ return '1';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ };
+
+ return [0, true].lastIndexOf(true, fromIndex) === 1 && toStringAccessed && valueOfAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js
new file mode 100644
index 000000000..0e1978d92
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-24",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js",
+
+ description: "Array.prototype.lastIndexOf throws TypeError exception when value of 'fromIndex' is an object that both toString and valueOf methods than don't return primitive value",
+
+ test: function testcase() {
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var fromIndex = {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ };
+
+ try {
+ [0, null].lastIndexOf(null, fromIndex);
+ return false;
+ } catch (e) {
+ return toStringAccessed && valueOfAccessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js
new file mode 100644
index 000000000..4f3e1a9d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-25",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js",
+
+ description: "Array.prototype.lastIndexOf use inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods",
+
+ test: 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 1;
+ };
+
+ return [0, true].lastIndexOf(true, child) === 1 && valueOfAccessed && !toStringAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js
new file mode 100644
index 000000000..38d92a8d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js
@@ -0,0 +1,66 @@
+/// 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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-26",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js",
+
+ description: "Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs",
+
+ test: 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.lastIndexOf.call(obj, undefined, fromIndex);
+ return stepTwoOccurs && stepFiveOccurs;
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js
new file mode 100644
index 000000000..e904792d5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js
@@ -0,0 +1,71 @@
+/// 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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-27",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js",
+
+ description: "Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs",
+
+ test: 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.lastIndexOf.call(obj, undefined, fromIndex);
+ return stepThreeOccurs && stepFiveOccurs;
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js
new file mode 100644
index 000000000..afc3bb512
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-28",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js",
+
+ description: "Array.prototype.lastIndexOf - side effects produced by step 1 are visible when an exception occurs",
+
+ test: function testcase() {
+
+ var stepFiveOccurs = false;
+ var fromIndex = {
+ valueOf: function () {
+ stepFiveOccurs = true;
+ return 0;
+ }
+ };
+
+ try {
+ Array.prototype.lastIndexOf.call(undefined, undefined, fromIndex);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && !stepFiveOccurs;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js
new file mode 100644
index 000000000..3dc58007f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js
@@ -0,0 +1,61 @@
+/// 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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-29",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js",
+
+ description: "Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs",
+
+ test: 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.lastIndexOf.call(obj, undefined, fromIndex);
+ return false;
+ } catch (e) {
+ return (e instanceof RangeError) && !stepFiveOccurs;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js
new file mode 100644
index 000000000..d58e204be
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-5-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js",
+
+description: "Array.prototype.lastIndexOf when fromIndex is boolean",
+
+test: function testcase() {
+ var a = new Array(1,2,1);
+ if (a.lastIndexOf(2,true) === 1 && // true resolves to 1
+ a.lastIndexOf(2,false) === -1 ) { // false resolves to 0
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js
new file mode 100644
index 000000000..a9d4d64f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js
@@ -0,0 +1,65 @@
+/// 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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-30",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js",
+
+ description: "Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs",
+
+ test: 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.lastIndexOf.call(obj, undefined, fromIndex);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && !stepFiveOccurs;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js
new file mode 100644
index 000000000..0e5a54433
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-31",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js",
+
+ description: "Array.prototype.lastIndexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction",
+
+ test: function testcase() {
+ var targetObj = {};
+ return [0, targetObj, true].lastIndexOf(targetObj, 1.5) === 1 &&
+ [0, true, targetObj].lastIndexOf(targetObj, 1.5) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js
new file mode 100644
index 000000000..6215888f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-32",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js",
+
+ description: "Array.prototype.lastIndexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction",
+
+ test: function testcase() {
+ var targetObj = {};
+ return [0, targetObj, true].lastIndexOf(targetObj, -2.5) === 1 &&
+ [0, true, targetObj].lastIndexOf(targetObj, -2.5) === -1;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.js
new file mode 100644
index 000000000..37a0bdc87
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-33",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.js",
+
+ description: "Array.prototype.lastIndexOf - match on the first element, a middle element and the last element when 'fromIndex' is passed",
+
+ test: function testcase() {
+
+ return [0, 1, 2, 3, 4].lastIndexOf(0, 0) === 0 &&
+ [0, 1, 2, 3, 4].lastIndexOf(0, 2) === 0 &&
+ [0, 1, 2, 3, 4].lastIndexOf(2, 2) === 2 &&
+ [0, 1, 2, 3, 4].lastIndexOf(2, 4) === 2 &&
+ [0, 1, 2, 3, 4].lastIndexOf(4, 4) === 4;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js
new file mode 100644
index 000000000..2afb1d6ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-5-4",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js",
+
+description: "Array.prototype.lastIndexOf when fromIndex is undefined",
+
+test: function testcase() {
+ var a = new Array(1,2,1);
+ if (a.lastIndexOf(2,undefined) === -1 &&
+ a.lastIndexOf(1,undefined) === 0 &&
+ a.lastIndexOf(1) === 2) { // undefined resolves to 0, no second argument resolves to len
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js
new file mode 100644
index 000000000..0755c4859
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-5-5",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js",
+
+description: "Array.prototype.lastIndexOf when fromIndex is null",
+
+test: function testcase() {
+ var a = new Array(1,2,1);
+ if (a.lastIndexOf(2,null) === -1 && a.lastIndexOf(1,null) === 0) { // null resolves to 0
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js
new file mode 100644
index 000000000..58b3d71a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js",
+
+ description: "Array.prototype.lastIndexOf when 'fromIndex' isn't passed",
+
+ test: function testcase() {
+ var arr = [0, 1, 2, 3, 4];
+ //'fromIndex' will be set as 4 if not passed by default
+ return arr.lastIndexOf(0) === arr.lastIndexOf(0, 4) &&
+ arr.lastIndexOf(2) === arr.lastIndexOf(2, 4) &&
+ arr.lastIndexOf(4) === arr.lastIndexOf(4, 4);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js
new file mode 100644
index 000000000..4ea6f7556
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is 0)",
+
+ test: function testcase() {
+
+ return [0, 100].lastIndexOf(100, 0) === -1 && // verify fromIndex is not more than 0
+ [200, 0].lastIndexOf(200, 0) === 0; // verify fromIndex is not less than 0
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.js
new file mode 100644
index 000000000..c2948de9d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-5-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is +0)",
+
+ test: function testcase() {
+
+ return [0, true].lastIndexOf(true, +0) === -1 &&
+ [true, 0].lastIndexOf(true, +0) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-9.js
new file mode 100644
index 000000000..1281b1de9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-5-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-9.js",
+
+ description: "Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -0)",
+
+ test: function testcase() {
+
+ return [0, true].lastIndexOf(true, -0) === -1 &&
+ [true, 0].lastIndexOf(true, -0) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js
new file mode 100644
index 000000000..69f4a0d91
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-6-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js",
+
+description: "Array.prototype.lastIndexOf when fromIndex greater than Array.length",
+
+test: function testcase() {
+ var a = new Array(1,2,3);
+ if (a.lastIndexOf(3,5.4) === 2 &&
+ a.lastIndexOf(3,3.1) === 2 ) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-2.js
new file mode 100644
index 000000000..3b1d33cf5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-6-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-2.js",
+
+ description: "Array.prototype.lastIndexOf returns correct index when 'fromIndex' is length of array - 1",
+
+ test: function testcase() {
+
+ return [1, 2, 3].lastIndexOf(3, 2) === 2;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-3.js
new file mode 100644
index 000000000..4613e0c9d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-6-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-3.js",
+
+ description: "Array.prototype.lastIndexOf returns -1 when 'fromIndex' is length of array - 1",
+
+ test: function testcase() {
+
+ return [1, 2, 3].lastIndexOf(3, 1) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.js
new file mode 100644
index 000000000..62d8b6ff5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-6-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.js",
+
+ description: "Array.prototype.lastIndexOf returns -1 when 'fromIndex' and 'length' are both 0",
+
+ test: function testcase() {
+
+ return [].lastIndexOf(1, 0) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-5.js
new file mode 100644
index 000000000..f2abf0508
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-6-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-5.js",
+
+ description: "Array.prototype.lastIndexOf returns -1 when 'fromIndex' is 1",
+
+ test: function testcase() {
+
+ return [1, 2, 3].lastIndexOf(3, 1) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.js
new file mode 100644
index 000000000..3aa587195
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-6-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.js",
+
+ description: "Array.prototype.lastIndexOf returns correct index when 'fromIndex' is 1",
+
+ test: function testcase() {
+
+ return [1, 2, 3].lastIndexOf(2, 1) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js
new file mode 100644
index 000000000..874814d8b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-7-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js",
+
+description: "Array.prototype.lastIndexOf with negative fromIndex ",
+
+test: function testcase() {
+ var a = new Array(1,2,3);
+
+ if (a.lastIndexOf(2,-2) === 1 &&
+ a.lastIndexOf(2,-3) === -1 &&
+ a.lastIndexOf(1,-5.3) === -1 ) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-2.js
new file mode 100644
index 000000000..91163c64e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-7-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-2.js",
+
+ description: "Array.prototype.lastIndexOf returns correct index when 'fromIndex' is -1",
+
+ test: function testcase() {
+
+ return [1, 2, 3, 4].lastIndexOf(4, -1) === 3;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-3.js
new file mode 100644
index 000000000..817f69a18
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-7-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-3.js",
+
+ description: "Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array - 1",
+
+ test: function testcase() {
+
+ return [1, 2, 3, 4].lastIndexOf(3, -3) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.js
new file mode 100644
index 000000000..d080133fc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-7-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.js",
+
+ description: "Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array",
+
+ test: function testcase() {
+
+ return [1, 2, 3, 4].lastIndexOf(2, -4) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+})
+
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js
new file mode 100644
index 000000000..afa6f5541
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js",
+
+description: "Array.prototype.lastIndexOf must return correct index(boolean)",
+
+test: function testcase() {
+ var obj = {toString:function (){return true}};
+ var _false = false;
+ var a = new Array(false,true,false,obj,_false,true,"true", undefined,0,null,1,"str",0,1);
+ if (a.lastIndexOf(true) === 5 && //a[5]=true
+ a.lastIndexOf(false) === 4) //a[4] =_false
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js
new file mode 100644
index 000000000..610eab4b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.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.
+
+/** note that prior to the finally ES5 draft SameValue was used for comparisions
+and hence NaNs could be found using lastIndexOf **/
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-10",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js",
+
+description: "Array.prototype.lastIndexOf must return correct index (NaN)",
+
+test: function testcase() {
+ var _NaN = NaN;
+ var a = new Array("NaN",_NaN,NaN, undefined,0,false,null,{toString:function (){return NaN}},"false");
+ if (a.lastIndexOf(NaN) === -1) // NaN matches nothing, not even itself
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js
new file mode 100644
index 000000000..11965fb84
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js",
+
+description: "Array.prototype.lastIndexOf must return correct index(Number)",
+
+test: function testcase() {
+ var obj = {toString:function (){return 0}};
+ var one = 1;
+ var _float = -(4/3);
+ var a = new Array(+0,true,0,-0, false,undefined,null,"0",obj, _float,-(4/3),-1.3333333333333,"str",one, 1, false);
+ if (a.lastIndexOf(-(4/3)) === 10 && // a[10]=-(4/3)
+ a.lastIndexOf(0) === 3 && // a[3] = -0, but using === -0 and 0 are equal
+ a.lastIndexOf(-0) ===3 && // a[3] = -0
+ a.lastIndexOf(1) === 14 ) // a[14] = 1
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js
new file mode 100644
index 000000000..b061f4d57
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js",
+
+description: "Array.prototype.lastIndexOf must return correct index(string)",
+
+test: function testcase() {
+ var obj = {toString:function (){return "false"}};
+ var szFalse = "false";
+ var a = new Array(szFalse, "false","false1",undefined,0,false,null,1,obj,0);
+ if (a.lastIndexOf("false") === 1)
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js
new file mode 100644
index 000000000..922644a6f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-4",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js",
+
+description: "Array.prototype.lastIndexOf must return correct index(undefined)",
+
+test: function testcase() {
+ var obj = {toString:function (){return undefined;}};
+ var _undefined1 = undefined;
+ var _undefined2;
+ var a = new Array(_undefined1,_undefined2,undefined,true,0,false,null,1,"undefined",obj,1);
+ if (a.lastIndexOf(undefined) === 2)
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js
new file mode 100644
index 000000000..540285876
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-5",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js",
+
+description: "Array.prototype.lastIndexOf must return correct index(Object)",
+
+test: function testcase() {
+ var obj1 = {toString:function (){return "false"}};
+ var obj2 = {toString:function (){return "false"}};
+ var obj3 = obj1;
+ var a = new Array(obj2,obj1,obj3,false,undefined,0,false,null,{toString:function (){return "false"}},"false");
+ if (a.lastIndexOf(obj3) === 2)
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js
new file mode 100644
index 000000000..af2b26ba2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-6",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js",
+
+description: "Array.prototype.lastIndexOf must return correct index(null)",
+
+test: function testcase() {
+ var obj = {toString:function (){return null}};
+ var _null = null;
+ var a = new Array(true,undefined,0,false,null,1,"str",0,1,null,true,false,undefined,_null,"null",undefined,"str",obj);
+ if (a.lastIndexOf(null) === 13 )
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js
new file mode 100644
index 000000000..40b38e595
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-7",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js",
+
+description: "Array.prototype.lastIndexOf must return correct index (self reference)",
+
+test: function testcase() {
+ var a = new Array(0,1,2,3);
+ a[2] = a;
+ if (a.lastIndexOf(a) === 2 &&
+ a.lastIndexOf(3) === 3 )
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js
new file mode 100644
index 000000000..71ca39340
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-8",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js",
+
+description: "Array.prototype.lastIndexOf must return correct index (Array)",
+
+test: function testcase() {
+ var b = new Array("0,1");
+ var a = new Array(0,b,"0,1",3);
+ if (a.lastIndexOf(b.toString()) === 2 &&
+ a.lastIndexOf("0,1") === 2 )
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js
new file mode 100644
index 000000000..71cbe96ae
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-8-9",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js",
+
+description: "Array.prototype.lastIndexOf must return correct index (Sparse Array)",
+
+test: function testcase() {
+ var a = new Array(0,1);
+ a[4294967294] = 2; // 2^32-2 - is max array element index
+ 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
+ // stop searching near the end in case implementation actually tries to test all missing elements!!
+ a[4294967200] = 3;
+ a[4294967201] = 4;
+ a[4294967202] = 5;
+
+
+ return (a.lastIndexOf(2) === 4294967294 &&
+ a.lastIndexOf(3) === 4294967200 &&
+ a.lastIndexOf(4) === 4294967201 &&
+ a.lastIndexOf(5) === 4294967202) ;
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js
new file mode 100644
index 000000000..01afb958c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-a-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js",
+
+ description: "Array.prototype.lastIndexOf - added properties in step 2 are visible here",
+
+ test: function testcase() {
+
+ var arr = { };
+
+ Object.defineProperty(arr, "length", {
+ get: function () {
+ arr[2] = "length";
+ return 3;
+ },
+ configurable: true
+ });
+
+ return 2 === Array.prototype.lastIndexOf.call(arr, "length");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js
new file mode 100644
index 000000000..347c62089
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-a-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js",
+
+ description: "Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array-like object",
+
+ test: function testcase() {
+
+ var arr = { length: 30 };
+ var targetObj = function () { };
+
+ var fromIndex = {
+ valueOf: function () {
+ arr[4] = targetObj;
+ return 10;
+ }
+ };
+
+ return 4 === Array.prototype.lastIndexOf.call(arr, targetObj, fromIndex);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js
new file mode 100644
index 000000000..155888471
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-a-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js",
+
+ description: "Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array",
+
+ test: function testcase() {
+
+ var arr = [];
+ arr.length = 30;
+ var targetObj = function () { };
+
+ var fromIndex = {
+ valueOf: function () {
+ arr[4] = targetObj;
+ return 11;
+ }
+ };
+
+ return 4 === arr.lastIndexOf(targetObj, fromIndex);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js
new file mode 100644
index 000000000..e14a5347d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-a-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js",
+
+ description: "Array.prototype.lastIndexOf - deleted properties in step 2 are visible here",
+
+ test: function testcase() {
+
+ var arr = { 2: 6.99 };
+
+ Object.defineProperty(arr, "length", {
+ get: function () {
+ delete arr[2];
+ return 3;
+ },
+ configurable: true
+ });
+
+ return -1 === Array.prototype.lastIndexOf.call(arr, 6.99);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js
new file mode 100644
index 000000000..03da35dda
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-a-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js",
+
+ description: "Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array-like object",
+
+ test: function testcase() {
+
+ var arr = { 10: false, length: 30 };
+
+ var fromIndex = {
+ valueOf: function () {
+ delete arr[10];
+ return 15;
+ }
+ };
+
+ return -1 === Array.prototype.lastIndexOf.call(arr, false, fromIndex);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js
new file mode 100644
index 000000000..820f7244d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-a-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js",
+
+ description: "Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array",
+
+ test: function testcase() {
+
+ var arr = [];
+ arr[10] = "10";
+ arr.length = 20;
+
+ var fromIndex = {
+ valueOf: function () {
+ delete arr[10];
+ return 11;
+ }
+ };
+
+ return -1 === arr.lastIndexOf("10", fromIndex);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.js
new file mode 100644
index 000000000..6ac675af6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.js",
+
+ description: "Array.prototype.lastIndexOf - undefined property wouldn't be called",
+
+ test: function testcase() {
+
+ return [0, , 2].lastIndexOf(undefined) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js
new file mode 100644
index 000000000..8ae845480
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-i-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js",
+
+ description: "Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array-like object",
+
+ test: function testcase() {
+
+ var obj = { 0: 0, 1: 1, 2: 2, length: 3 };
+
+ return Array.prototype.lastIndexOf.call(obj, 0) === 0 &&
+ Array.prototype.lastIndexOf.call(obj, 1) === 1 &&
+ Array.prototype.lastIndexOf.call(obj, 2) === 2;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-2.js
new file mode 100644
index 000000000..e47fb75d0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-b-i-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-2.js",
+
+ description: "Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array",
+
+ test: function testcase() {
+ return [true, true, true].lastIndexOf(true) === 2 &&
+ [true, true, false].lastIndexOf(true) === 1 &&
+ [true, false, false].lastIndexOf(true) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js
new file mode 100644
index 000000000..e86e0b43b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js
@@ -0,0 +1,45 @@
+/// 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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-b-i-25",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js",
+
+ description: "Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)",
+
+ test: function testcase() {
+
+ var func = function (a, b) {
+ return 0 === Array.prototype.lastIndexOf.call(arguments, arguments[0]) &&
+ -1 === Array.prototype.lastIndexOf.call(arguments, arguments[1]);
+ };
+
+ return func(true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js
new file mode 100644
index 000000000..e17439e00
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-b-i-26",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js",
+
+ description: "Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)",
+
+ test: function testcase() {
+
+ var func = function (a, b) {
+ return 0 === Array.prototype.lastIndexOf.call(arguments, arguments[0]) &&
+ 1 === Array.prototype.lastIndexOf.call(arguments, arguments[1]) &&
+ -1 === Array.prototype.lastIndexOf.call(arguments, arguments[2]);
+ };
+
+ return func(0, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js
new file mode 100644
index 000000000..10dade626
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.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.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-b-i-27",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js",
+
+ description: "Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)",
+
+ test: function testcase() {
+
+ var func = function (a, b) {
+ return 2 === Array.prototype.lastIndexOf.call(arguments, arguments[0]) &&
+ 3 === Array.prototype.lastIndexOf.call(arguments, arguments[3]) &&
+ -1 === Array.prototype.lastIndexOf.call(arguments, arguments[4]);
+ };
+
+ return func(0, arguments, 0, Object.prototype);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js
new file mode 100644
index 000000000..629e62486
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-i-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js",
+
+ description: "Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array",
+
+ test: function testcase() {
+ try {
+ Array.prototype[0] = Object;
+ return [Object.prototype].lastIndexOf(Object.prototype) === 0;
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js
new file mode 100644
index 000000000..1275b149b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-b-i-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js",
+
+ description: "Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ try {
+ Object.prototype[0] = false;
+ return 0 === Array.prototype.lastIndexOf.call({ 0: true, 1: 1, length: 2 }, true);
+ } finally {
+ delete Object.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js
new file mode 100644
index 000000000..6d203deef
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-i-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js",
+
+ description: "Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array",
+
+ test: function testcase() {
+
+ try {
+ Array.prototype[0] = true;
+ Array.prototype[1] = false;
+ Array.prototype[2] = "true";
+ return 0 === [, , , ].lastIndexOf(true) &&
+ 1 === [, , , ].lastIndexOf(false) &&
+ 2 === [, , , ].lastIndexOf("true");
+ } finally {
+ delete Array.prototype[0];
+ delete Array.prototype[1];
+ delete Array.prototype[2];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf) && ![, 1].hasOwnProperty(0);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js
new file mode 100644
index 000000000..c11adf6cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.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.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.15-8-b-i-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js",
+
+ description: "Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ try {
+ Object.prototype[0] = true;
+ Object.prototype[1] = false;
+ Object.prototype[2] = "true";
+ return 0 === Array.prototype.lastIndexOf.call({ length: 3 }, true) &&
+ 1 === Array.prototype.lastIndexOf.call({ length: 3 }, false) &&
+ 2 === Array.prototype.lastIndexOf.call({ length: 3 }, "true");
+ } finally {
+ delete Object.prototype[0];
+ delete Object.prototype[1];
+ delete Object.prototype[2];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.js
new file mode 100644
index 000000000..95d501002
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.js",
+
+ description: "Array.prototype.lastIndexOf - type of array element is different from type of search element",
+
+ test: function testcase() {
+
+ return ["true"].lastIndexOf(true) === -1 &&
+ ["0"].lastIndexOf(0) === -1 &&
+ [false].lastIndexOf(0) === -1 &&
+ [undefined].lastIndexOf(0) === -1 &&
+ [null].lastIndexOf(0) === -1 &&
+ [[]].lastIndexOf(0) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-10.js
new file mode 100644
index 000000000..ee218781b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-10.js",
+
+ description: "Array.prototype.lastIndexOf - both array element and search element are booleans, and they have same value",
+ test: function testcase() {
+
+ return [false, true].lastIndexOf(true) === 1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js
new file mode 100644
index 000000000..1b43a8dbb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js",
+
+ description: "Array.prototype.lastIndexOf - both array element and search element are Objects, and they refer to the same object",
+ test: function testcase() {
+
+ var obj1 = {};
+ var obj2 = {};
+ var obj3 = obj2;
+ return [obj2, obj1].lastIndexOf(obj3) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-2.js
new file mode 100644
index 000000000..0aba7ea0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-2.js",
+
+ description: "Array.prototype.lastIndexOf - both type of array element and type of search element are Undefined",
+
+ test: function testcase() {
+
+ return [undefined].lastIndexOf() === 0 && [undefined].lastIndexOf(undefined) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-3.js
new file mode 100644
index 000000000..44550d2f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-3.js",
+
+ description: "Array.prototype.lastIndexOf - both type of array element and type of search element are Null",
+
+ test: function testcase() {
+
+ return [null].lastIndexOf(null) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.js
new file mode 100644
index 000000000..68798bd79
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.js",
+
+ description: "Array.prototype.lastIndexOf - search element is NaN",
+ test: function testcase() {
+
+ return [+NaN, NaN, -NaN].lastIndexOf(NaN) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-5.js
new file mode 100644
index 000000000..ccf3acb2a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-5.js",
+
+ description: "Array.prototype.lastIndexOf - search element is -NaN",
+ test: function testcase() {
+ return [+NaN, NaN, -NaN].lastIndexOf(-NaN) === -1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.js
new file mode 100644
index 000000000..455877de6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.js",
+
+ description: "Array.prototype.lastIndexOf - array element is +0 and search element is -0",
+ test: function testcase() {
+
+ return [+0].lastIndexOf(-0) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.js
new file mode 100644
index 000000000..66d2273eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.js",
+
+ description: "Array.prototype.lastIndexOf - array element is -0 and search element is +0",
+ test: function testcase() {
+
+ return [-0].lastIndexOf(+0) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.js
new file mode 100644
index 000000000..0d4ec0f96
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.js",
+
+ description: "Array.prototype.lastIndexOf - both array element and search element are numbers, and they have same value",
+ test: function testcase() {
+
+ return [-1, 0, 1].lastIndexOf(-1) === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.js
new file mode 100644
index 000000000..e44c8a160
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-ii-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.js",
+
+ description: "Array.prototype.lastIndexOf - both array element and search element are strings, and they have exactly the same sequence of characters",
+ test: function testcase() {
+
+ return ["abc", "ab", "bca", ""].lastIndexOf("abc") === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.js
new file mode 100644
index 000000000..73d541d61
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.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.
+
+
+ES5Harness.registerTest( {
+
+ id: "15.4.4.15-8-b-iii-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.js",
+
+ description: "Array.prototype.lastIndexOf returns index of last one when more than two elements in array are eligible",
+
+ test: function testcase() {
+
+ return [2, 1, 2, 2, 1].lastIndexOf(2) === 3;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js
new file mode 100644
index 000000000..57f122fc3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.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.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.15-9-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js",
+
+description: "Array.prototype.lastIndexOf returns -1 for elements not present",
+
+test: 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.lastIndexOf(1) !== 100 ||
+ a.lastIndexOf("") !== 99999 ||
+ a.lastIndexOf("str") !== 123456 ||
+ a.lastIndexOf(5.5) !== 5555 ||
+ a.lastIndexOf(1E+309) !== 5 )
+ {
+ return false;
+ }
+ if (a.lastIndexOf(true) === -1 &&
+ a.lastIndexOf(5) === -1 &&
+ a.lastIndexOf("str1") === -1 &&
+ a.lastIndexOf(null) === -1 &&
+ a.lastIndexOf(new Object()) === -1 )
+ {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.lastIndexOf);
+ }
+});