aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17')
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-2.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js70
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js66
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js73
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js70
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js76
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js66
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js72
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js71
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js61
214 files changed, 11109 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js
new file mode 100644
index 000000000..57d8b3df0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.17-0-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js",
+
+description: "Array.prototype.some must exist as a function",
+
+test: function testcase() {
+ var f = Array.prototype.some;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-2.js
new file mode 100644
index 000000000..2937afeb7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-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.17-0-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-2.js",
+
+description: "Array.prototype.some.length must be 1",
+
+test: function testcase() {
+ if (Array.prototype.some.length === 1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js
new file mode 100644
index 000000000..b41f07b2d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-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.17-1-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js",
+
+ description: "Array.prototype.some applied to undefined throws a TypeError",
+
+ test: function testcase() {
+ try {
+ Array.prototype.some.call(undefined);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js
new file mode 100644
index 000000000..7e1ffe977
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-1-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js",
+
+ description: "Array.prototype.some applied to the Math object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return '[object Math]' === Object.prototype.toString.call(obj);
+ }
+
+ try {
+ Math.length = 1;
+ Math[0] = 1;
+ return Array.prototype.some.call(Math, callbackfn);
+ } finally {
+ delete Math[0];
+ delete Math.length;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js
new file mode 100644
index 000000000..1296b3630
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-1-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js",
+
+ description: "Array.prototype.some applied to Date object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof Date;
+ }
+
+ var obj = new Date();
+ obj.length = 2;
+ obj[0] = 11;
+ obj[1] = 9;
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js
new file mode 100644
index 000000000..83b3e4814
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-1-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js",
+
+ description: "Array.prototype.some applied to RegExp object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof RegExp;
+ }
+
+ var obj = new RegExp();
+ obj.length = 2;
+ obj[0] = 11;
+ obj[1] = 9;
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js
new file mode 100644
index 000000000..0572ab584
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-1-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js",
+
+ description: "Array.prototype.some applied to the JSON object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return '[object JSON]' === Object.prototype.toString.call(obj);
+ }
+
+ try {
+ JSON.length = 1;
+ JSON[0] = 1;
+ return Array.prototype.some.call(JSON, callbackfn);
+ } finally {
+ delete JSON.length;
+ delete JSON[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js
new file mode 100644
index 000000000..4a6da3b59
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.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.17-1-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js",
+
+ description: "Array.prototype.some applied to Error object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof Error;
+ }
+
+ var obj = new Error();
+ obj.length = 1;
+ obj[0] = 1;
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js
new file mode 100644
index 000000000..9a67f5dca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.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.17-1-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js",
+
+ description: "Array.prototype.some applied to the Arguments object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return '[object Arguments]' === Object.prototype.toString.call(obj);
+ }
+
+ var obj = (function () {
+ return arguments;
+ }("a", "b"));
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js
new file mode 100644
index 000000000..e6ff4eceb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.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.17-1-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js",
+
+ description: "Array.prototype.some applied to null throws a TypeError",
+
+ test: function testcase() {
+ try {
+ Array.prototype.some.call(null);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js
new file mode 100644
index 000000000..470805430
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-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.17-1-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js",
+
+ description: "Array.prototype.some applied to boolean primitive",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof Boolean;
+ }
+
+ try {
+ Boolean.prototype[0] = 1;
+ Boolean.prototype.length = 1;
+ return Array.prototype.some.call(false, callbackfn);
+ } finally {
+ delete Boolean.prototype[0];
+ delete Boolean.prototype.length;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js
new file mode 100644
index 000000000..6e84eba50
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.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.17-1-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js",
+
+ description: "Array.prototype.some applied to Boolean object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof Boolean;
+ }
+
+ var obj = new Boolean(true);
+ obj.length = 2;
+ obj[0] = 11;
+ obj[1] = 9;
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js
new file mode 100644
index 000000000..83f23268f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.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.17-1-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js",
+
+ description: "Array.prototype.some applied to number primitive",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof Number;
+ }
+
+ try {
+ Number.prototype[1] = true;
+ Number.prototype.length = 2;
+
+ return Array.prototype.some.call(5, callbackfn);
+ } finally {
+ delete Number.prototype[1];
+ delete Number.prototype.length;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js
new file mode 100644
index 000000000..da67400a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.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.17-1-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js",
+
+ description: "Array.prototype.some applied to Number object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof Number;
+ }
+
+ var obj = new Number(-128);
+ obj.length = 2;
+ obj[0] = 11;
+ obj[1] = 9;
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js
new file mode 100644
index 000000000..98f35371a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.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.17-1-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js",
+
+ description: "Array.prototype.some applied to applied to string primitive",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof String;
+ }
+
+ return Array.prototype.some.call("hello\nw_orld\\!", callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js
new file mode 100644
index 000000000..37808a20e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.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.17-1-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js",
+
+ description: "Array.prototype.some applied to String object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof String;
+ }
+
+ var obj = new String("hello\nw_orld\\!");
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js
new file mode 100644
index 000000000..dc1884a31
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.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.17-1-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js",
+
+ description: "Array.prototype.some applied to Function object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ return obj instanceof Function;
+ }
+
+ var obj = function (a, b) {
+ return a + b;
+ };
+ obj[0] = 11;
+ obj[1] = 9;
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js
new file mode 100644
index 000000000..8dfe038ed
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.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.17-2-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js",
+
+ description: "Array.prototype.some - 'length' is own data property on an Array-like object",
+
+ test: function testcase() {
+
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = {
+ 0: 9,
+ 1: 11,
+ 2: 12,
+ length: 2
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js
new file mode 100644
index 000000000..d06e7ac76
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.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.17-2-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js",
+
+ description: "Array.prototype.some - 'length' is an inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[0] = 9;
+ child[1] = 11;
+ child[2] = 12;
+
+ return Array.prototype.some.call(child, callbackfn1) &&
+ !Array.prototype.some.call(child, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js
new file mode 100644
index 000000000..6050f1fe1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.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.17-2-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js",
+
+ description: "Array.prototype.some - 'length' is an own accessor property without a get function on an Array-like object",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = {
+ 0: 11,
+ 1: 12
+ };
+ Object.defineProperty(obj, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js
new file mode 100644
index 000000000..ec5523d66
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.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.17-2-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js",
+
+ description: "Array.prototype.some - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ try {
+ Object.defineProperty(Object.prototype, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ var obj = { 0: 11, 1: 12 };
+ Object.defineProperty(obj, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ } finally {
+ delete Object.prototype.length;
+ }
+
+ },
+
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js
new file mode 100644
index 000000000..5f0ef80f5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-2-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js",
+
+ description: "Array.prototype.some - 'length' is inherited accessor property without a get function on an Array-like object",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var proto = {};
+ Object.defineProperty(proto, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[0] = 11;
+ child[1] = 12;
+
+ return !Array.prototype.some.call(child, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js
new file mode 100644
index 000000000..e6843545e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.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.17-2-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js",
+
+ description: "Array.prototype.some - 'length' property doesn't exist on an Array-like object",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, 1: 12 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js
new file mode 100644
index 000000000..e0f3e32c7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-2-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js",
+
+ description: "Array.prototype.some - 'length' is property of the global object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject()[0] = 9;
+ fnGlobalObject()[1] = 11;
+ fnGlobalObject()[2] = 12;
+ fnGlobalObject().length = 2;
+ return Array.prototype.some.call(fnGlobalObject(), callbackfn1) &&
+ !Array.prototype.some.call(fnGlobalObject(), callbackfn2);
+ } finally {
+ delete fnGlobalObject()[0];
+ delete fnGlobalObject()[1];
+ delete fnGlobalObject()[2];
+ fnGlobalObject().length = oldLen;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js
new file mode 100644
index 000000000..9ecfb0647
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.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.17-2-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js",
+
+ description: "Array.prototype.some applied to the Arguments object which implements its own property get method",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var func = function (a, b) {
+ arguments[2] = 12;
+ return Array.prototype.some.call(arguments, callbackfn1) &&
+ !Array.prototype.some.call(arguments, callbackfn2);
+ };
+
+ return func(9, 11);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js
new file mode 100644
index 000000000..89c02bcb5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.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.17-2-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js",
+
+ description: "Array.prototype.some applied to String object which implements its own property get method",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return parseInt(val, 10) > 1;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return parseInt(val, 10) > 2;
+ }
+
+ var str = new String("12");
+ try {
+ String.prototype[2] = "3";
+ return Array.prototype.some.call(str, callbackfn1) &&
+ !Array.prototype.some.call(str, callbackfn2);
+ } finally {
+ delete String.prototype[2];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js
new file mode 100644
index 000000000..c73adc9b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.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.17-2-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js",
+
+ description: "Array.prototype.some applied to Function object which implements its own property get method",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var fun = function (a, b) {
+ return a + b;
+ };
+ fun[0] = 9;
+ fun[1] = 11;
+ fun[2] = 12;
+
+ return Array.prototype.some.call(fun, callbackfn1) &&
+ !Array.prototype.some.call(fun, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js
new file mode 100644
index 000000000..eed692348
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.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.17-2-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js",
+
+ description: "Array.prototype.some - 'length' is own data property on an Array",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ try {
+ Array.prototype[2] = 12;
+
+ return [9, 11].some(callbackfn1) &&
+ ![9, 11].some(callbackfn2);
+ } finally {
+ delete Array.prototype[2];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js
new file mode 100644
index 000000000..4a45dfa60
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.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.17-2-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js",
+
+ description: "Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var proto = { length: 3 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+ child[0] = 9;
+ child[1] = 11;
+ child[2] = 12;
+
+ return Array.prototype.some.call(child, callbackfn1) &&
+ !Array.prototype.some.call(child, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js
new file mode 100644
index 000000000..54843e99c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.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.17-2-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js",
+
+ description: "Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an array",
+
+ test: function testcase() {
+ var arrProtoLen = 0;
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ try {
+ arrProtoLen = Array.prototype.length;
+ Array.prototype.length = 0;
+ Array.prototype[2] = 12;
+
+ return [9, 11].some(callbackfn1) &&
+ ![9, 11].some(callbackfn2);
+ } finally {
+ Array.prototype.length = arrProtoLen;
+ delete Array.prototype[2];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js
new file mode 100644
index 000000000..555f4351a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js
@@ -0,0 +1,70 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-2-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js",
+
+ description: "Array.prototype.some - 'length' is an own data property that overrides an inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "length", {
+ value: 2,
+ configurable: true
+ });
+
+ child[0] = 9;
+ child[1] = 11;
+ child[2] = 12;
+
+ return Array.prototype.some.call(child, callbackfn1) &&
+ !Array.prototype.some.call(child, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js
new file mode 100644
index 000000000..b5b6a7407
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.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.17-2-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js",
+
+ description: "Array.prototype.some - 'length' is an inherited data property on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var proto = { length: 2 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[0] = 9;
+ child[1] = 11;
+ child[2] = 12;
+
+ return Array.prototype.some.call(child, callbackfn1) &&
+ !Array.prototype.some.call(child, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js
new file mode 100644
index 000000000..8f35fc818
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.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.17-2-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js",
+
+ description: "Array.prototype.some - 'length' is an own accessor property on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ obj[0] = 9;
+ obj[1] = 11;
+ obj[2] = 12;
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js
new file mode 100644
index 000000000..3f95bf725
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.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.17-2-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js",
+
+ description: "Array.prototype.some - 'length' is an own accessor property that overrides an inherited data property on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var proto = { length: 3 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+
+ Object.defineProperty(child, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ child[0] = 9;
+ child[1] = 11;
+ child[2] = 12;
+
+ return Array.prototype.some.call(child, callbackfn1) &&
+ !Array.prototype.some.call(child, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js
new file mode 100644
index 000000000..744124b44
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js
@@ -0,0 +1,73 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-2-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js",
+
+ description: "Array.prototype.some - 'length' is an own accessor property that overrides an inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+
+ Object.defineProperty(child, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ child[0] = 9;
+ child[1] = 11;
+ child[2] = 12;
+
+ return Array.prototype.some.call(child, callbackfn1) &&
+ !Array.prototype.some.call(child, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js
new file mode 100644
index 000000000..ee24e1f97
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-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.17-3-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js",
+
+ description: "Array.prototype.some - value of 'length' is undefined",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, length: undefined };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js
new file mode 100644
index 000000000..0c635f795
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.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.17-3-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is NaN)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, length: NaN };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js
new file mode 100644
index 000000000..610157fbc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.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.17-3-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js",
+
+ description: "Array.prototype.some - 'length' is a string containing a positive number",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: "2" };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js
new file mode 100644
index 000000000..48bc181bd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.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.17-3-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js",
+
+ description: "Array.prototype.some - 'length' is a string containing a negative number",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: "-4294967294" };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js
new file mode 100644
index 000000000..feafd20d6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-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.17-3-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js",
+
+ description: "Array.prototype.some - 'length' is a string containing a decimal number",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: "2.5" };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js
new file mode 100644
index 000000000..a4bf40f5e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.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.17-3-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js",
+
+ description: "Array.prototype.some - 'length' is a string containing +/-Infinity",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var objOne = { 0: 11, length: "Infinity" };
+ var objTwo = { 0: 11, length: "+Infinity" };
+ var objThree = { 0: 11, length: "-Infinity" };
+
+ return !Array.prototype.some.call(objOne, callbackfn) &&
+ !Array.prototype.some.call(objTwo, callbackfn) &&
+ !Array.prototype.some.call(objThree, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js
new file mode 100644
index 000000000..f683fee04
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.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.17-3-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js",
+
+ description: "Array.prototype.some - 'length' is a string containing an exponential number",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: "2E0" };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js
new file mode 100644
index 000000000..1a408bd0d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.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.17-3-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js",
+
+ description: "Array.prototype.some - 'length' is a string containing a hex number",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: "0x0002" };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js
new file mode 100644
index 000000000..541ed0567
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.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.17-3-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js",
+
+ description: "Array.prototype.some - 'length' is a string containing a number with leading zeros",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: "0002.00" };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js
new file mode 100644
index 000000000..b94b13654
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.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.17-3-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js",
+
+ description: "Array.prototype.some - value of 'length' is a string that can't convert to a number",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, 1: 21, length: "two" };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js
new file mode 100644
index 000000000..a559e8404
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.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.17-3-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js",
+
+ description: "Array.prototype.some - value of 'length' is an Object which has an own toString method",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var toStringAccessed = false;
+ var obj = {
+ 0: 9,
+ 1: 11,
+ 2: 12,
+
+ length: {
+ toString: function () {
+ toStringAccessed = true;
+ return '2';
+ }
+ }
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2) && toStringAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js
new file mode 100644
index 000000000..5d4701392
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-3-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js",
+
+ description: "Array.prototype.some on an Array-like object if 'length' is 1 (length overridden to true(type conversion))",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 11, 1: 12, length: true };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js
new file mode 100644
index 000000000..f4d26c62f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.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.17-3-20",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js",
+
+ description: "Array.prototype.some - value of 'length' is an Object which has an own valueOf method",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var valueOfAccessed = false;
+
+ var obj = {
+ 0: 9,
+ 1: 11,
+ 2: 12,
+ length: {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return 2;
+ }
+ }
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2) && valueOfAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js
new file mode 100644
index 000000000..1cbfdbda4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-3-21",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js",
+
+ description: "Array.prototype.some - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var obj = {
+ 0: 9,
+ 1: 11,
+ 2: 12,
+ length: {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ },
+ toString: function () {
+ toStringAccessed = true;
+ return '2';
+ }
+ }
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2) &&
+ valueOfAccessed && toStringAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js
new file mode 100644
index 000000000..0aef79354
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js
@@ -0,0 +1,70 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-3-22",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js",
+
+ description: "Array.prototype.some throws TypeError exception when 'length' is an object with toString and valueOf methods that don’t return primitive values",
+
+ test: function testcase() {
+
+ var callbackfnAccessed = false;
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ function callbackfn(val, idx, obj) {
+ callbackfnAccessed = true;
+ return val > 10;
+ }
+
+ var obj = {
+ 0: 11,
+ 1: 12,
+
+ length: {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ },
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ }
+ }
+ };
+
+ try {
+ Array.prototype.some.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && toStringAccessed && valueOfAccessed && !callbackfnAccessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js
new file mode 100644
index 000000000..b702fcb5b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js
@@ -0,0 +1,76 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-3-23",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js",
+
+ description: "Array.prototype.some uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var valueOfAccessed = false;
+ var toStringAccessed = 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 '1';
+ };
+
+ var obj = {
+ 0: 9,
+ 1: 11,
+ 2: 12,
+ length: child
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2) &&
+ valueOfAccessed && !toStringAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js
new file mode 100644
index 000000000..065dbe996
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.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.17-3-24",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js",
+
+ description: "Array.prototype.some - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = {
+ 0: 9,
+ 10: 11,
+ 11: 12,
+ length: 11.5
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js
new file mode 100644
index 000000000..62c8ed44c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.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.17-3-25",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js",
+
+ description: "Array.prototype.some - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = {
+ 0: 9,
+ 1: 11,
+ 2: 12,
+ length: -4294967294.5
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js
new file mode 100644
index 000000000..00d12d52f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-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.17-3-28",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js",
+
+ description: "Array.prototype.some - value of 'length' is boundary value (2^32)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = {
+ 0: 12,
+ length: 4294967296
+ };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js
new file mode 100644
index 000000000..317f5bfac
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.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.17-3-29",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js",
+
+ description: "Array.prototype.some - value of 'length' is boundary value (2^32 + 1)",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = {
+ 0: 11,
+ 1: 12,
+ length: 4294967297
+ };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js
new file mode 100644
index 000000000..4cfc0a5af
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.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.17-3-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is 0)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, length: 0 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js
new file mode 100644
index 000000000..b0f95eea4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-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.17-3-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is +0)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, length: +0 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js
new file mode 100644
index 000000000..0f52c5fec
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-3-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is -0)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, length: -0 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js
new file mode 100644
index 000000000..71a7505ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-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.17-3-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is positive)",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: 2 };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js
new file mode 100644
index 000000000..53926a681
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-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.17-3-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is negative)",
+
+ test: function testcase() {
+ function callbackfn1(val, idx, obj) {
+ return val > 10;
+ }
+
+ function callbackfn2(val, idx, obj) {
+ return val > 11;
+ }
+
+ var obj = { 0: 9, 1: 11, 2: 12, length: -4294967294 };
+
+ return Array.prototype.some.call(obj, callbackfn1) &&
+ !Array.prototype.some.call(obj, callbackfn2);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js
new file mode 100644
index 000000000..1d8871571
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-3-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is Infinity)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, length: Infinity };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js
new file mode 100644
index 000000000..156c92550
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.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.17-3-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js",
+
+ description: "Array.prototype.some - value of 'length' is a number (value is -Infinity)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, length: -Infinity };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js
new file mode 100644
index 000000000..48e014d68
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.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.17-4-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js",
+
+description: "Array.prototype.some throws TypeError if callbackfn is undefined",
+
+test: function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.some();
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js
new file mode 100644
index 000000000..aabd43907
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.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.17-4-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js",
+
+ description: "Array.prototype.some - the exception is not thrown if exception was thrown by step 2",
+
+ test: function testcase() {
+
+ var obj = { 0: 11, 1: 12 };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ throw new SyntaxError();
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.some.call(obj, undefined);
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js
new file mode 100644
index 000000000..7bc53d22a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.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.17-4-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js",
+
+ description: "Array.prototype.some - the exception is not thrown if exception was thrown by step 3",
+
+ test: function testcase() {
+
+ var obj = { 0: 11, 1: 12 };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ toString: function () {
+ throw new SyntaxError();
+ }
+ };
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.some.call(obj, undefined);
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js
new file mode 100644
index 000000000..13f942c68
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-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.17-4-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js",
+
+ description: "Array.prototype.some - 'callbackfn' is a function",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return val > 10;
+ }
+
+ return [9, 11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js
new file mode 100644
index 000000000..d4acd8c9e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.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.17-4-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js",
+
+ description: "Array.prototype.some - calling with no callbackfn is the same as passing undefined for callbackfn",
+
+ test: function testcase() {
+ var obj = { };
+ var lengthAccessed = false;
+ var loopAccessed = false;
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ lengthAccessed = true;
+ return 20;
+ },
+ configurable: true
+ });
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ loopAccessed = true;
+ return 10;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.some.call(obj);
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js
new file mode 100644
index 000000000..3d99f2420
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.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.17-4-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js",
+
+description: "Array.prototype.some throws ReferenceError if callbackfn is unreferenced",
+
+test: function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.some(foo);
+ }
+ catch(e) {
+ if(e instanceof ReferenceError)
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js
new file mode 100644
index 000000000..a0da988b2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.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.17-4-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js",
+
+description: "Array.prototype.some throws TypeError if callbackfn is null",
+
+test: function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.some(null);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js
new file mode 100644
index 000000000..c6cf05f68
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.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.17-4-4",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js",
+
+description: "Array.prototype.some throws TypeError if callbackfn is boolean",
+
+test: function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.some(true);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js
new file mode 100644
index 000000000..9f47a5879
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.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.17-4-5",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js",
+
+description: "Array.prototype.some throws TypeError if callbackfn is number",
+
+test: function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.some(5);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js
new file mode 100644
index 000000000..a99982d2b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.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.17-4-6",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js",
+
+description: "Array.prototype.some throws TypeError if callbackfn is string",
+
+test: function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.some("abc");
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js
new file mode 100644
index 000000000..fa1e56744
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.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.17-4-7",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js",
+
+description: "Array.prototype.some throws TypeError if callbackfn is Object without a Call internal method",
+
+test: function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.some(new Object());
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js
new file mode 100644
index 000000000..d12af21f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.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.17-4-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js",
+
+ description: "Array.prototype.some - side effects produced by step 2 are visible when an exception occurs",
+
+ test: function testcase() {
+
+ var obj = { 0: 11, 1: 12 };
+
+ var accessed = false;
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ accessed = true;
+ return 2;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.some.call(obj, null);
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError && accessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js
new file mode 100644
index 000000000..5c400c2f7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.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.17-4-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js",
+
+ description: "Array.prototype.some - side effects produced by step 3 are visible when an exception occurs",
+
+ test: function testcase() {
+
+ var obj = { 0: 11, 1: 12 };
+
+ var accessed = false;
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ toString: function () {
+ accessed = true;
+ return "2";
+ }
+ };
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.some.call(obj, null);
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError && accessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js
new file mode 100644
index 000000000..14d84826b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2010 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-5-1-s",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js",
+
+description: "Array.prototype.some - thisArg not passed to strict callbackfn",
+
+test: function testcase() {
+ var innerThisCorrect = false;
+
+ function callbackfn(val, idx, obj) {
+ "use strict";
+ innerThisCorrect = this===undefined;
+ return true;
+ }
+
+ [1].some(callbackfn);
+ return innerThisCorrect;
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict() && fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js
new file mode 100644
index 000000000..e54e3ef44
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-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.17-5-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js",
+
+ description: "Array.prototype.some - thisArg is passed",
+
+ test: function testcase() {
+ this._15_4_4_17_5_1 = false;
+ var _15_4_4_17_5_1 = true;
+
+ function callbackfn(val, idx, obj) {
+ return this._15_4_4_17_5_1;
+ }
+ var arr = [1];
+ return !arr.some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js
new file mode 100644
index 000000000..f3536b355
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.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.17-5-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js",
+
+ description: "Array.prototype.some - Array Object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objArray = [];
+
+ function callbackfn(val, idx, obj) {
+ return this === objArray;
+ }
+
+ return [11].some(callbackfn, objArray);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js
new file mode 100644
index 000000000..733d6eb52
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.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.17-5-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js",
+
+ description: "Array.prototype.some - String object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objString = new String();
+
+ function callbackfn(val, idx, obj) {
+ return this === objString;
+ }
+
+ return [11].some(callbackfn, objString);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js
new file mode 100644
index 000000000..4206929ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.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.17-5-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js",
+
+ description: "Array.prototype.some - Boolean object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objBoolean = new Boolean();
+
+ function callbackfn(val, idx, obj) {
+ return this === objBoolean;
+ }
+
+ return [11].some(callbackfn, objBoolean);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js
new file mode 100644
index 000000000..54f72a4a6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-5-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js",
+
+ description: "Array.prototype.some - Number object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objNumber = new Number();
+
+ function callbackfn(val, idx, obj) {
+ return this === objNumber;
+ }
+
+ return [11].some(callbackfn, objNumber);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js
new file mode 100644
index 000000000..670d1f922
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-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.17-5-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js",
+
+ description: "Array.prototype.some - the Math object can be used as thisArg",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this === Math;
+ }
+
+ return [11].some(callbackfn, Math);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js
new file mode 100644
index 000000000..67eff1696
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-5-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js",
+
+ description: "Array.prototype.some - Date object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objDate = new Date();
+
+ function callbackfn(val, idx, obj) {
+ return this === objDate;
+ }
+
+ return [11].some(callbackfn, objDate);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js
new file mode 100644
index 000000000..8ae4f6a1b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-5-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js",
+
+ description: "Array.prototype.some - RegExp object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objRegExp = new RegExp();
+
+ function callbackfn(val, idx, obj) {
+ return this === objRegExp;
+ }
+
+ return [11].some(callbackfn, objRegExp);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js
new file mode 100644
index 000000000..77531d7f1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.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.17-5-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js",
+
+ description: "Array.prototype.some - the JSON object can be used as thisArg",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this === JSON;
+ }
+
+ return [11].some(callbackfn, JSON);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js
new file mode 100644
index 000000000..958165fef
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.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.17-5-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js",
+
+ description: "Array.prototype.some - Error object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objError = new RangeError();
+
+ function callbackfn(val, idx, obj) {
+ return this === objError;
+ }
+
+ return [11].some(callbackfn, objError);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js
new file mode 100644
index 000000000..62655f2da
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.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.17-5-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js",
+
+ description: "Array.prototype.some - the Arguments object can be used as thisArg",
+
+ test: function testcase() {
+
+ var arg;
+
+ function callbackfn(val, idx, obj) {
+ return this === arg;
+ }
+
+ (function fun() {
+ arg = arguments;
+ }(1, 2, 3));
+
+ return [11].some(callbackfn, arg);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js
new file mode 100644
index 000000000..6f42343a3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-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.17-5-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js",
+
+description: "Array.prototype.some - thisArg is Object",
+
+test: function testcase() {
+ var res = false;
+ var o = new Object();
+ o.res = true;
+ function callbackfn(val, idx, obj)
+ {
+ return this.res;
+ }
+
+ var arr = [1];
+ if(arr.some(callbackfn, o) === true)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js
new file mode 100644
index 000000000..3b1598c14
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.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.17-5-21",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js",
+
+ description: "Array.prototype.some - the global object can be used as thisArg",
+
+ test: function testcase() {
+
+
+ function callbackfn(val, idx, obj) {
+ return this === fnGlobalObject();
+ }
+
+ return [11].some(callbackfn, fnGlobalObject());
+ },
+
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js
new file mode 100644
index 000000000..9ee4293b6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.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.17-5-22",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js",
+
+ description: "Array.prototype.some - boolean primitive can be used as thisArg",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this.valueOf() === false;
+ }
+
+ return [11].some(callbackfn, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js
new file mode 100644
index 000000000..723362ce5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.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.17-5-23",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js",
+
+ description: "Array.prototype.some - number primitive can be used as thisArg",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this.valueOf() === 101;
+ }
+
+ return [11].some(callbackfn, 101);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js
new file mode 100644
index 000000000..09a7d76fe
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.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.17-5-24",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js",
+
+ description: "Array.prototype.some - string primitive can be used as thisArg",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this.valueOf() === "abc";
+ }
+
+ return [11].some(callbackfn, "abc");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js
new file mode 100644
index 000000000..de628d1a7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.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.17-5-25",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js",
+
+ description: "Array.prototype.some - thisArg not passed",
+
+ test: function testcase() {
+ function innerObj() {
+ this._15_4_4_17_5_25 = true;
+ var _15_4_4_17_5_25 = false;
+
+ function callbackfn(val, idx, obj) {
+ return this._15_4_4_17_5_25;
+ }
+ var arr = [1];
+ this.retVal = !arr.some(callbackfn);
+ }
+ return new innerObj().retVal;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js
new file mode 100644
index 000000000..ea7f6922f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-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.17-5-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js",
+
+description: "Array.prototype.some - thisArg is Array",
+
+test: function testcase() {
+ var res = false;
+ var a = new Array();
+ a.res = true;
+ function callbackfn(val, idx, obj)
+ {
+ return this.res;
+ }
+
+ var arr = [1];
+
+ if(arr.some(callbackfn, a) === true)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js
new file mode 100644
index 000000000..52e8b2da5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-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.17-5-4",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js",
+
+description: "Array.prototype.some - thisArg is object from object template(prototype)",
+
+test: function testcase() {
+ var res = false;
+ function callbackfn(val, idx, obj)
+ {
+ return this.res;
+ }
+
+ function foo(){}
+ foo.prototype.res = true;
+ var f = new foo();
+ var arr = [1];
+
+ if(arr.some(callbackfn,f) === true)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js
new file mode 100644
index 000000000..fa48855ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.17-5-5",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js",
+
+description: "Array.prototype.some - thisArg is object from object template",
+
+test: function testcase() {
+ var res = false;
+ function callbackfn(val, idx, obj)
+ {
+ return this.res;
+ }
+
+ function foo(){}
+ var f = new foo();
+ f.res = true;
+ var arr = [1];
+
+ if(arr.some(callbackfn,f) === true)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js
new file mode 100644
index 000000000..f8829a767
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.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.17-5-6",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js",
+
+description: "Array.prototype.some - thisArg is function",
+
+test: function testcase() {
+ var res = false;
+ function callbackfn(val, idx, obj)
+ {
+ return this.res;
+ }
+
+ function foo(){}
+ foo.res = true;
+ var arr = [1];
+
+ if(arr.some(callbackfn,foo) === true)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js
new file mode 100644
index 000000000..d26a44b6c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.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.17-5-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js",
+
+ description: "Array.prototype.some - built-in functions can be used as thisArg",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this === eval;
+ }
+
+ return [11].some(callbackfn, eval);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js
new file mode 100644
index 000000000..f581fd5b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.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.17-5-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js",
+
+ description: "Array.prototype.some - Function Object can be used as thisArg",
+
+ test: function testcase() {
+
+ var objFunction = function () { };
+
+ function callbackfn(val, idx, obj) {
+ return this === objFunction;
+ }
+
+ return [11].some(callbackfn, objFunction);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js
new file mode 100644
index 000000000..dd39c2b7f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.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.17-7-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js",
+
+description: "Array.prototype.some considers new elements added to array after it is called",
+
+test: function testcase() {
+ var calledForThree = false;
+
+ function callbackfn(val, idx, obj)
+ {
+ arr[2] = 3;
+ if(val !== 3)
+ calledForThree = true;
+
+ return false;
+ }
+
+ var arr = [1,2,,4,5];
+
+ var val = arr.some(callbackfn);
+ return calledForThree;
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js
new file mode 100644
index 000000000..56b76108f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.4.4.17-7-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js",
+
+description: "Array.prototype.some considers new value of elements in array after it is called",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ arr[4] = 6;
+ if(val < 6)
+ return false;
+ else
+ return true;
+ }
+
+ var arr = [1,2,3,4,5];
+
+ if(arr.some(callbackfn) === true)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js
new file mode 100644
index 000000000..0755015b4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-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.17-7-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js",
+
+description: "Array.prototype.some doesn't visit deleted elements in array after it is called",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ delete arr[2];
+ if(val !== 3)
+ return false;
+ else
+ return true;
+ }
+
+ var arr = [1,2,3,4,5];
+
+ if(arr.some(callbackfn) === false)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js
new file mode 100644
index 000000000..45abcc8b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-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.17-7-4",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js",
+
+description: "Array.prototype.some doesn't visit deleted elements when Array.length is decreased",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ arr.length = 3;
+ if(val < 4)
+ return false;
+ else
+ return true;
+ }
+
+ var arr = [1,2,3,4,6];
+
+ if(arr.some(callbackfn) === false)
+ return true;
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js
new file mode 100644
index 000000000..1ea116ee2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.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.17-7-5",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js",
+
+description: "Array.prototype.some doesn't consider newly added elements in sparse array",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ arr[1000] = 5;
+ if(val < 5)
+ return false;
+ else
+ return true;
+ }
+
+ var arr = new Array(10);
+ arr[1] = 1;
+ arr[2] = 2;
+
+ if(arr.some(callbackfn) === false)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js
new file mode 100644
index 000000000..65a9571b5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.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.17-7-6",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js",
+
+description: "Array.prototype.some visits deleted element in array after the call when same index is also present in prototype",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ delete arr[4];
+ if(val < 5)
+ return false;
+ else
+ return true;
+ }
+
+
+ Array.prototype[4] = 5;
+ var arr = [1,2,3,4,5];
+
+ var res = arr.some(callbackfn) ;
+ delete Array.prototype[4];
+ if(res === true)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js
new file mode 100644
index 000000000..2832eef4c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js",
+
+ description: "Array.prototype.some - no observable effects occur if length is 0",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return val > 10;
+ }
+
+ var obj = { 0: 11, 1: 12, length: 0 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js
new file mode 100644
index 000000000..71e95b304
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.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.17-7-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js",
+
+ description: "Array.prototype.some - modifications to length don't change number of iterations",
+
+ test: function testcase() {
+
+ var called = 0;
+
+ function callbackfn(val, idx, obj) {
+ called++;
+ return val > 10;
+ }
+
+ var obj = { 0: 9, 2: 12, length: 3 };
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ obj.length = 2;
+ return 8;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(obj, callbackfn) && called === 3;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js
new file mode 100644
index 000000000..fbb2c7545
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-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.17-7-b-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js",
+
+description: "Array.prototype.some - callbackfn not called for indexes never been assigned values",
+
+test: function testcase() {
+
+ var callCnt = 0;
+ function callbackfn(val, idx, obj)
+ {
+ callCnt++;
+ return false;
+ }
+
+ var arr = new Array(10);
+ arr[1] = undefined;
+ arr.some(callbackfn);
+ if(callCnt === 1)
+ return true;
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js
new file mode 100644
index 000000000..814b4593c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.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.17-7-b-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js",
+
+ description: "Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array-like Object",
+
+ test: function testcase() {
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return idx === 1;
+ }
+ var arr = { 2: 2, length: 20 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete Object.prototype[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[1] = 1;
+ return !Array.prototype.some.call(arr, callbackfn) && accessed;
+ } finally {
+ delete Object.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js
new file mode 100644
index 000000000..846d3e338
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.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.17-7-b-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js",
+
+ description: "Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array",
+
+ test: function testcase() {
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return idx === 1;
+ }
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete Array.prototype[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ return !arr.some(callbackfn) && accessed;
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && ![, 1].hasOwnProperty(0) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js
new file mode 100644
index 000000000..bacb56335
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-b-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js",
+
+ description: "Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ var arr = { 0: 0, 1: 111, 2: 2, length: 10 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[1] = 1;
+ return Array.prototype.some.call(arr, callbackfn);
+ } finally {
+ delete Object.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js
new file mode 100644
index 000000000..89dd9d8b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-b-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js",
+
+ description: "Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ var arr = [0, 111, 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ return arr.some(callbackfn);
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js
new file mode 100644
index 000000000..1a921e98c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.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.17-7-b-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js",
+
+ description: "Array.prototype.some - decreasing length of array causes index property not to be visited",
+
+ test: function testcase() {
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return idx === 3;
+ }
+ var arr = [0, 1, 2, "last"];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 3;
+ return 0;
+ },
+ configurable: true
+ });
+
+ return !arr.some(callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js
new file mode 100644
index 000000000..87271ffdd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.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.17-7-b-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js",
+
+ description: "Array.prototype.some - decreasing length of array with prototype property causes prototype index property to be visited",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 2 && val === "prototype") {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ var arr = [0, 1, 2];
+
+ try {
+ Object.defineProperty(Array.prototype, "2", {
+ get: function () {
+ return "prototype";
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ } finally {
+ delete Array.prototype[2];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js
new file mode 100644
index 000000000..f051c1585
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.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.17-7-b-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js",
+
+ description: "Array.prototype.some - decreasing length of array does not delete non-configurable properties",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 2 && val === "unconfigurable") {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ var arr = [0, 1, 2];
+
+ Object.defineProperty(arr, "2", {
+ get: function () {
+ return "unconfigurable";
+ },
+ configurable: false
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js
new file mode 100644
index 000000000..1947309d9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.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.17-7-b-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js",
+
+ description: "Array.prototype.some - added properties in step 2 are visible here",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 2 && val === "length") {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ var arr = { };
+
+ Object.defineProperty(arr, "length", {
+ get: function () {
+ arr[2] = "length";
+ return 3;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(arr, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js
new file mode 100644
index 000000000..c5eccfeed
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.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.17-7-b-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js",
+
+ description: "Array.prototype.some - deleted properties in step 2 are visible here",
+
+ test: function testcase() {
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return idx === 2;
+ }
+ var arr = { 2: 6.99, 8: 19};
+
+ Object.defineProperty(arr, "length", {
+ get: function () {
+ delete arr[2];
+ return 10;
+ },
+ configurable: true
+ });
+
+ return !Array.prototype.some.call(arr, callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js
new file mode 100644
index 000000000..5ade5305e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.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.17-7-b-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js",
+
+ description: "Array.prototype.some - properties added into own object after current position are visited on an Array-like object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ var arr = { length: 2 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(arr, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js
new file mode 100644
index 000000000..af53369ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.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.17-7-b-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js",
+
+ description: "Array.prototype.some - properties added into own object after current position are visited on an Array",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js
new file mode 100644
index 000000000..ebb4359f8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-b-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js",
+
+ description: "Array.prototype.some - properties can be added to prototype after current position are visited on an Array-like object",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 1 && val === 6.99) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ var arr = { length: 2 };
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(Object.prototype, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ return Array.prototype.some.call(arr, callbackfn);
+ } finally {
+ delete Object.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js
new file mode 100644
index 000000000..89cc96b40
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-b-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js",
+
+ description: "Array.prototype.some - properties can be added to prototype after current position are visited on an Array",
+
+ test: function testcase() {
+ function callbackfn(val, idx, obj) {
+ if (idx === 1 && val === 6.99) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ return arr.some(callbackfn);
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && ![, 1].hasOwnProperty(0) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js
new file mode 100644
index 000000000..4f29741e0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-b-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js",
+
+ description: "Array.prototype.some - deleting own property causes index property not to be visited on an Array-like object",
+
+ test: function testcase() {
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return idx === 1;
+ }
+ var arr = { length: 2 };
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ return !Array.prototype.some.call(arr, callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js
new file mode 100644
index 000000000..b5c8bda9a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-b-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js",
+
+ description: "Array.prototype.some - deleting own property causes index property not to be visited on an Array",
+
+ test: function testcase() {
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return idx === 1;
+ }
+ var arr = [1, 2];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return "6.99";
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ return !arr.some(callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js
new file mode 100644
index 000000000..bb29c4c3a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.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.17-7-c-i-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js",
+
+ description: "Array.prototype.some - element to be retrieved is own data property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = {};
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 5) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var obj = { 5: kValue, length: 100 };
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js
new file mode 100644
index 000000000..f0724fe94
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.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.17-7-c-i-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property on an Array",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 10) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var arr = [];
+
+ Object.defineProperty(arr, "10", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js
new file mode 100644
index 000000000..3f9e99784
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-c-i-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var proto = { 1: 6 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 10;
+
+ Object.defineProperty(child, "1", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(child, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js
new file mode 100644
index 000000000..15a40f0f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.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.17-7-c-i-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js",
+
+ description: " Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var arr = [];
+ try {
+ Array.prototype[1] = 100;
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js
new file mode 100644
index 000000000..b9b5bc47d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js
@@ -0,0 +1,72 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-c-i-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "1", {
+ get: function () {
+ return 5;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 10;
+
+ Object.defineProperty(child, "1", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+
+ return Array.prototype.some.call(child, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js
new file mode 100644
index 000000000..3743124e4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-c-i-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js",
+
+ description: " Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var arr = [];
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 10;
+ },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js
new file mode 100644
index 000000000..6a4f30d87
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-c-i-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js",
+
+ description: "Array.prototype.some - element to be retrieved is inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "1", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 20;
+
+ return Array.prototype.some.call(child, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js
new file mode 100644
index 000000000..9e37832b5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.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.17-7-c-i-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js",
+
+ description: "Array.prototype.some - element to be retrieved is inherited accessor property on an Array",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+ return [, , ].some(callbackfn);
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && ![, 1].hasOwnProperty(0) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js
new file mode 100644
index 000000000..7d96f39a4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.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.17-7-c-i-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array-like object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return typeof val === "undefined";
+ }
+ return false;
+ }
+
+ var obj = { length: 2 };
+ Object.defineProperty(obj, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js
new file mode 100644
index 000000000..1a8cb53c6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.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.17-7-c-i-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return typeof val === "undefined";
+ }
+ return false;
+ }
+
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js
new file mode 100644
index 000000000..91c34b8e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.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.17-7-c-i-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return typeof val === "undefined";
+ }
+ return false;
+ }
+
+ var obj = { length: 2 };
+ Object.defineProperty(obj, "1", {
+ set: function () { },
+ configurable: true
+ });
+ try {
+ Object.prototype[1] = 10;
+ return Array.prototype.some.call(obj, callbackfn);
+ } finally {
+ delete Object.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js
new file mode 100644
index 000000000..ba688fc53
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-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.17-7-c-i-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js",
+
+ description: "Array.prototype.some - element to be retrieved is own data property on an Array",
+
+ test: function testcase() {
+
+ var kValue = {};
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return kValue === val;
+ }
+ return false;
+ }
+
+ return [kValue].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js
new file mode 100644
index 000000000..6963b8a7a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.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.17-7-c-i-20",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return typeof val === "undefined";
+ }
+ return false;
+ }
+
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[0] = 100;
+ return arr.some(callbackfn);
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js
new file mode 100644
index 000000000..71909b39e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-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.17-7-c-i-21",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js",
+
+ description: "Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array-like object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return typeof val === "undefined";
+ }
+ return false;
+ }
+
+ var proto = {};
+ Object.defineProperty(proto, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+
+ return Array.prototype.some.call(child, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js
new file mode 100644
index 000000000..e482ebeb6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.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.17-7-c-i-22",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js",
+
+ description: "Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return typeof val === "undefined";
+ }
+ return false;
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ return [, ].some(callbackfn);
+ } finally {
+ delete Array.prototype[0];
+ }
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && ![, 1].hasOwnProperty(0) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js
new file mode 100644
index 000000000..0a380cb30
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-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.17-7-c-i-23",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js",
+
+ description: "Array.prototype.some - This object is an global object which contains index property",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return val === 11;
+ }
+ return false;
+ }
+
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject()[0] = 11;
+ fnGlobalObject().length = 1;
+ return Array.prototype.some.call(fnGlobalObject(), callbackfn);
+ } finally {
+ delete fnGlobalObject()[0];
+ fnGlobalObject().length = oldLen;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js
new file mode 100644
index 000000000..db31c7a0c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.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.17-7-c-i-25",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js",
+
+ description: "Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return val === 11;
+ }
+ return false;
+ }
+
+ var func = function (a, b) {
+ return Array.prototype.some.call(arguments, callbackfn);
+ };
+
+ return func(11);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js
new file mode 100644
index 000000000..cb51b3ba2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.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.17-7-c-i-26",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js",
+
+ description: "Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)",
+
+ test: function testcase() {
+
+ var firstResult = false;
+ var secondResult = false;
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ firstResult = (val === 11);
+ return false;
+ } else if (idx === 1) {
+ secondResult = (val === 9);
+ return false;
+ } else {
+ return true;
+ }
+ }
+
+ var func = function (a, b) {
+ return Array.prototype.some.call(arguments, callbackfn);
+ };
+
+ return !func(11, 9) && firstResult && secondResult;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js
new file mode 100644
index 000000000..d63806921
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.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.17-7-c-i-27",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js",
+
+ description: "Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)",
+
+ test: function testcase() {
+
+ var firstResult = false;
+ var secondResult = false;
+ var thirdResult = false;
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ firstResult = (val === 11);
+ return false;
+ } else if (idx === 1) {
+ secondResult = (val === 12);
+ return false;
+ } else if (idx === 2) {
+ thirdResult = (val === 9);
+ return false;
+ } else {
+ return true;
+ }
+ }
+
+ var func = function (a, b) {
+ return Array.prototype.some.call(arguments, callbackfn);
+ };
+
+ return !func(11, 12, 9) && firstResult && secondResult && thirdResult;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js
new file mode 100644
index 000000000..df4a2144c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-c-i-28",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js",
+
+ description: "Array.prototype.some - element changed by getter on previous iterations is observed on an Array",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === 12;
+ }
+ return false;
+ }
+
+ var arr = [];
+ var helpVerifyVar = 11;
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return helpVerifyVar;
+ },
+ set: function (args) {
+ helpVerifyVar = args;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr[1] = 12;
+ return 9;
+ },
+ configurable: true
+ });
+
+ return arr.some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js
new file mode 100644
index 000000000..91992f50e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-c-i-29",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js",
+
+ description: "Array.prototype.some - element changed by getter on previous iterations on an Array-like object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 1) {
+ return val === 12;
+ }
+ return false;
+ }
+
+ var obj = { length: 2 };
+ var helpVerifyVar = 11;
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ return helpVerifyVar;
+ },
+ set: function (args) {
+ helpVerifyVar = args;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ obj[1] = 12;
+ return 11;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js
new file mode 100644
index 000000000..d72463568
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.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.17-7-c-i-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js",
+
+ description: "Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 5) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var proto = { 5: 100 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[5] = kValue;
+ child.length = 10;
+
+ return Array.prototype.some.call(child, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js
new file mode 100644
index 000000000..2fe49428a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.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.17-7-c-i-30",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js",
+
+ description: "Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array-like object",
+
+ test: function testcase() {
+
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ if (idx > 1) {
+ accessed = true;
+ }
+ return true;
+ }
+
+ var obj = { length: 20 };
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ throw new RangeError("unhandle exception happened in getter");
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.some.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return ex instanceof RangeError && !accessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js
new file mode 100644
index 000000000..70cad27a5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.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.17-7-c-i-31",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js",
+
+ description: "Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array",
+
+ test: function testcase() {
+
+ var accessed = false;
+ function callbackfn(val, idx, obj) {
+ if (idx > 0) {
+ accessed = true;
+ }
+ return true;
+ }
+
+ var arr = [];
+ arr[10] = 100;
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ throw new RangeError("unhandle exception happened in getter");
+ },
+ configurable: true
+ });
+
+ try {
+ arr.some(callbackfn);
+ return false;
+ } catch (ex) {
+ return ex instanceof RangeError && !accessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js
new file mode 100644
index 000000000..2be04269a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.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.17-7-c-i-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js",
+
+ description: "Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ try {
+ Array.prototype[0] = 11;
+
+ return [kValue].some(callbackfn);
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js
new file mode 100644
index 000000000..ac750aa72
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (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.17-7-c-i-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js",
+
+ description: "Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = 1000;
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "0", {
+ get: function () {
+ return 5;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+ Object.defineProperty(child, "0", {
+ value: kValue,
+ configurable: true
+ });
+
+ return Array.prototype.some.call(child, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js
new file mode 100644
index 000000000..884502517
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.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.17-7-c-i-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js",
+
+ description: "Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array",
+
+ test: function testcase() {
+
+ var kValue = 1000;
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 9;
+ },
+ configurable: true
+ });
+ return [kValue].some(callbackfn);
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js
new file mode 100644
index 000000000..40e8645d8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.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.17-7-c-i-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js",
+
+ description: "Array.prototype.some - element to be retrieved is inherited data property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = 'abc';
+
+ function callbackfn(val, idx, obj) {
+ if (5 === idx) {
+ return kValue === val;
+ }
+ return false;
+ }
+
+ var proto = { 5: kValue };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 10;
+
+ return Array.prototype.some.call(child, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js
new file mode 100644
index 000000000..3996bb39c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.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.17-7-c-i-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js",
+
+ description: "Array.prototype.some - element to be retrieved is inherited data property on an Array",
+
+ test: function testcase() {
+
+ var kValue = {};
+
+ function callbackfn(val, idx, obj) {
+ if (0 === idx) {
+ return kValue === val;
+ }
+ return false;
+ }
+
+ try {
+ Array.prototype[0] = kValue;
+
+ return [, ].some(callbackfn);
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && ![, 1].hasOwnProperty(0);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js
new file mode 100644
index 000000000..9366f910e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.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.17-7-c-i-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js",
+
+ description: "Array.prototype.some - element to be retrieved is own accessor property on an Array-like object",
+
+ test: function testcase() {
+
+ var kValue = "abc";
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 10) {
+ return val === kValue;
+ }
+ return false;
+ }
+
+ var obj = { length: 20 };
+
+ Object.defineProperty(obj, "10", {
+ get: function () {
+ return kValue;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js
new file mode 100644
index 000000000..65957a1b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.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.17-7-c-ii-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js",
+
+description: "Array.prototype.some - callbackfn called with correct parameters",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ if(obj[idx] === val)
+ return false;
+ else
+ return true;
+ }
+
+ var arr = [0,1,2,3,4,5,6,7,8,9];
+
+ if(arr.some(callbackfn) === false)
+ return true;
+
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js
new file mode 100644
index 000000000..843aaede7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.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.17-7-c-ii-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js",
+
+ description: "Array.prototype.some - callbackfn is called with 1 formal parameter",
+
+ test: function testcase() {
+
+ function callbackfn(val) {
+ return val > 10;
+ }
+
+ return [11, 12].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js
new file mode 100644
index 000000000..d82adc287
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.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.17-7-c-ii-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js",
+
+ description: "Array.prototype.some - callbackfn is called with 2 formal parameter",
+
+ test: function testcase() {
+ function callbackfn(val, idx) {
+ return val > 10 && arguments[2][idx] === val;
+ }
+
+ return [9, 12].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js
new file mode 100644
index 000000000..ad76e8d91
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-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.17-7-c-ii-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js",
+
+ description: "Array.prototype.some - callbackfn is called with 3 formal parameter",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return val > 10 && obj[idx] === val;
+ }
+
+ return [9, 12].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js
new file mode 100644
index 000000000..1e8d7cc84
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.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.17-7-c-ii-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js",
+
+ description: "Array.prototype.some - callbackfn that uses arguments object to get parameter value",
+
+ test: function testcase() {
+
+ function callbackfn() {
+ return arguments[2][arguments[1]] === arguments[0];
+ }
+
+ return [9, 12].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js
new file mode 100644
index 000000000..f002f413d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-c-ii-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js",
+
+ description: "Array.prototype.some - 'this' of 'callback' is a Boolean object when 'T' is not an object ('T' is a boolean primitive)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this.valueOf() === false;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.some.call(obj, callbackfn, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js
new file mode 100644
index 000000000..83c4a40a5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.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.17-7-c-ii-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js",
+
+ description: "Array.prototype.some - 'this' of 'callbackfn' is a Number object when T is not an object (T is a number primitive)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this.valueOf() === 5;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.some.call(obj, callbackfn, 5);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js
new file mode 100644
index 000000000..53e834e70
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.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.17-7-c-ii-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js",
+
+ description: "Array.prototype.some - 'this' of 'callbackfn' is an String object when T is not an object (T is a string primitive)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return this.valueOf() === "hello!";
+ }
+
+ var obj = { 0: 11, 1: 9, length: 2 };
+
+ return Array.prototype.some.call(obj, callbackfn, "hello!");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js
new file mode 100644
index 000000000..a292c6912
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-c-ii-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js",
+
+ description: "Array.prototype.some - non-indexed properties are not called",
+
+ test: function testcase() {
+
+ var called = 0;
+
+ function callbackfn(val, idx, obj) {
+ called++;
+ return val === 11;
+ }
+
+ var obj = { 0: 9, 10: 8, non_index_property: 11, length: 20 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && (2 === called);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js
new file mode 100644
index 000000000..be743fa19
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.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.17-7-c-ii-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js",
+
+description: "Array.prototype.some - callbackfn takes 3 arguments",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ if(arguments.length === 3) //verify if callbackfn was called with 3 parameters
+ return false;
+ else
+ return true;
+ }
+
+ var arr = [0,1,true,null,new Object(),"five"];
+ arr[999999] = -6.6;
+
+ if(arr.some(callbackfn) === false)
+ return true;
+
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js
new file mode 100644
index 000000000..3cb6de9d3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.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.17-7-c-ii-20",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js",
+
+ description: "Array.prototype.some - callbackfn called with correct parameters (thisArg is correct)",
+
+ test: function testcase() {
+
+ var thisArg = { threshold: 10 };
+
+ function callbackfn(val, idx, obj) {
+ return this === thisArg;
+ }
+
+ var obj = { 0: 11, length: 2 };
+
+ return Array.prototype.some.call(obj, callbackfn, thisArg);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js
new file mode 100644
index 000000000..6cee3cca2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.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.17-7-c-ii-21",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js",
+
+ description: "Array.prototype.some - callbackfn called with correct parameters (kValue is correct)",
+
+ test: function testcase() {
+
+ var firstIndex = false;
+ var secondIndex = false;
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ firstIndex = (val === 11);
+ return false;
+ }
+ if (idx === 1) {
+ secondIndex = (val === 12);
+ return false;
+ }
+ }
+
+ var obj = { 0: 11, 1: 12, length: 2 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && firstIndex && secondIndex;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js
new file mode 100644
index 000000000..0f9af3727
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.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.17-7-c-ii-22",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js",
+
+ description: "Array.prototype.some - callbackfn called with correct parameters (the index k is correct)",
+
+ test: function testcase() {
+
+ var firstIndex = false;
+ var secondIndex = false;
+
+ function callbackfn(val, idx, obj) {
+ if (val === 11) {
+ firstIndex = (idx === 0);
+ return false;
+ }
+ if (val === 12) {
+ secondIndex = (idx === 1);
+ return false;
+ }
+ }
+
+ var obj = { 0: 11, 1: 12, length: 2 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && firstIndex && secondIndex;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js
new file mode 100644
index 000000000..4bf3b3cfa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-c-ii-23",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js",
+
+ description: "Array.prototype.some - callbackfn called with correct parameters (this object O is correct)",
+
+ test: function testcase() {
+
+ var obj = { 0: 11, 1: 12, length: 2 };
+
+ function callbackfn(val, idx, o) {
+ return obj === o;
+ }
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js
new file mode 100644
index 000000000..c49b819de
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-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.17-7-c-ii-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js",
+
+description: "Array.prototype.some immediately returns true if callbackfn returns true",
+
+test: function testcase() {
+
+ var callCnt = 0;
+ function callbackfn(val, idx, obj)
+ {
+ callCnt++;
+ if(idx > 5)
+ return true;
+ else
+ return false;
+ }
+
+ var arr = [0,1,2,3,4,5,6,7,8,9];
+
+ if(arr.some(callbackfn) === true && callCnt === 7)
+ return true;
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js
new file mode 100644
index 000000000..115947549
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.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.17-7-c-ii-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js",
+
+ description: "Array.prototype.some - k values are passed in ascending numeric order",
+
+ test: function testcase() {
+
+ var arr = [0, 1, 2, 3, 4, 5];
+ var lastIdx = 0;
+ var called = 0;
+
+ function callbackfn(val, idx, o) {
+ called++;
+ if (lastIdx !== idx) {
+ return true;
+ } else {
+ lastIdx++;
+ return false;
+ }
+ }
+
+ return !arr.some(callbackfn) && arr.length === called;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js
new file mode 100644
index 000000000..eaa7a8e4d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-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.17-7-c-ii-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js",
+
+ description: "Array.prototype.some - k values are accessed during each iteration and not prior to starting the loop",
+
+ test: function testcase() {
+
+ var kIndex = [];
+
+ //By below way, we could verify that k would be setted as 0, 1, ..., length - 1 in order, and each value will be setted one time.
+ function callbackfn(val, idx, obj) {
+ //Each position should be visited one time, which means k is accessed one time during iterations.
+ if (typeof kIndex[idx] === "undefined") {
+ //when current position is visited, its previous index should has been visited.
+ if (idx !== 0 && typeof kIndex[idx - 1] === "undefined") {
+ return true;
+ }
+ kIndex[idx] = 1;
+ return false;
+ } else {
+ return true;
+ }
+ }
+
+ return ![11, 12, 13, 14].some(callbackfn, undefined);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js
new file mode 100644
index 000000000..b4ae5325f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.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.17-7-c-ii-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js",
+
+ description: "Array.prototype.some - arguments to callbackfn are self consistent",
+
+ test: function testcase() {
+
+ var obj = { 0: 11, length: 1 };
+ var thisArg = {};
+
+ function callbackfn() {
+ return this === thisArg && arguments[0] === 11 && arguments[1] === 0 && arguments[2] === obj;
+ }
+
+ return Array.prototype.some.call(obj, callbackfn, thisArg);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js
new file mode 100644
index 000000000..8ad280cfe
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.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.17-7-c-ii-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js",
+
+ description: "Array.prototype.some - unhandled exceptions happened in callbackfn terminate iteration",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ if (idx > 0) {
+ accessed = true;
+ }
+ if (idx === 0) {
+ throw new Error("Exception occurred in callbackfn");
+ }
+ return false;
+ }
+
+ var obj = { 0: 9, 1: 100, 10: 11, length: 20 };
+
+ try {
+ Array.prototype.some.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return ex instanceof Error && !accessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js
new file mode 100644
index 000000000..9b66a3c9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-c-ii-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js",
+
+ description: "Array.prototype.some - element changed by callbackfn on previous iterations is observed",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ if (idx === 0) {
+ obj[idx + 1] = 11;
+ }
+ return val > 10;
+ }
+
+ var obj = { 0: 9, 1: 8, length: 2 };
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js
new file mode 100644
index 000000000..16dfac6ad
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.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.17-7-c-ii-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js",
+
+ description: "Array.prototype.some - callbackfn is called with 0 formal parameter",
+
+ test: function testcase() {
+
+ function callbackfn() {
+ return true;
+ }
+
+ return [11, 12].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js
new file mode 100644
index 000000000..3de8254ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-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.17-7-c-iii-1",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js",
+
+ description: "Array.prototype.some - return value of callbackfn is undefined",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return undefined;
+ }
+
+ var obj = { 0: 11, length: 2 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js
new file mode 100644
index 000000000..97daf0db3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.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.17-7-c-iii-10",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is Infinity)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return Infinity;
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js
new file mode 100644
index 000000000..e98e33d26
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-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.17-7-c-iii-11",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is -Infinity)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return -Infinity;
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js
new file mode 100644
index 000000000..d79ffa5ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest({
+
+ id: "15.4.4.17-7-c-iii-12",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is NaN)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return NaN;
+ }
+
+ return ![11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js
new file mode 100644
index 000000000..8ac04ae67
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.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.17-7-c-iii-13",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js",
+
+ description: "Array.prototype.some - return value of callbackfn is an empty string",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return "";
+ }
+
+ return ![11].some(callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js
new file mode 100644
index 000000000..02721aff0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-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.17-7-c-iii-14",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a non-empty string",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return "non-empty string";
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js
new file mode 100644
index 000000000..fb1dc63d3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-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.17-7-c-iii-15",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js",
+
+ description: "Array.prototype.some - return value of callbackfn is Function object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return function () { };
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js
new file mode 100644
index 000000000..d841a1f75
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.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.17-7-c-iii-16",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js",
+
+ description: "Array.prototype.some - return value of callbackfn is an Array object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return new Array(10);
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js
new file mode 100644
index 000000000..26d7bff7a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.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.17-7-c-iii-17",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a String object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return new String();
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js
new file mode 100644
index 000000000..a9a93b0e9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.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.17-7-c-iii-18",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a Boolean object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return new Boolean();
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js
new file mode 100644
index 000000000..412c24168
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.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.17-7-c-iii-19",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a Number object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return new Number();
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js
new file mode 100644
index 000000000..8889497bb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-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.17-7-c-iii-2",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js",
+
+ description: "Array.prototype.some - return value of callbackfn is null",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return null;
+ }
+
+ var obj = { 0: 11, length: 2 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js
new file mode 100644
index 000000000..09b94789d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.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.17-7-c-iii-20",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js",
+
+ description: "Array.prototype.some - return value of callbackfn is the Math object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return Math;
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js
new file mode 100644
index 000000000..6c88d18aa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.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.17-7-c-iii-21",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a Date object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return new Date();
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js
new file mode 100644
index 000000000..6caf53e9c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.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.17-7-c-iii-22",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a RegExp object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return new RegExp();
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js
new file mode 100644
index 000000000..22c45713b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.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.17-7-c-iii-23",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js",
+
+ description: "Array.prototype.some - return value of callbackfn is the JSON object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return JSON;
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js
new file mode 100644
index 000000000..234ebb65b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.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.17-7-c-iii-24",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js",
+
+ description: "Array.prototype.some - return value of callbackfn is an Error object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return new EvalError();
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js
new file mode 100644
index 000000000..f524e09ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.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.17-7-c-iii-25",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js",
+
+ description: "Array.prototype.some - return value of callbackfn is the Arguments object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return arguments;
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js
new file mode 100644
index 000000000..24ec47500
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.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.17-7-c-iii-26",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js",
+
+ description: "Array.prototype.some - return value of callbackfn is the global object",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return fnGlobalObject();
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js
new file mode 100644
index 000000000..e6db0368f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.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.17-7-c-iii-28",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js",
+
+ description: "Array.prototype.some - true prevents further side effects",
+
+ test: function testcase() {
+ var result = false;
+ function callbackfn(val, idx, obj) {
+ if (idx > 1) {
+ result = true;
+ }
+ return val > 10;
+ }
+
+ var obj = { length: 20 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return 8;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "2", {
+ get: function () {
+ result = true;
+ return 11;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.some.call(obj, callbackfn) && !result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnObjects();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js
new file mode 100644
index 000000000..19c818090
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.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.17-7-c-iii-29",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js",
+
+ description: "Array.prototype.some - return value (new Boolean(false)) of callbackfn is treated as true value",
+
+ test: function testcase() {
+
+ function callbackfn() {
+ return new Boolean(false);
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js
new file mode 100644
index 000000000..e7460223c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.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.17-7-c-iii-3",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a boolean (value is false)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return false;
+ }
+
+ var obj = { 0: 11, length: 2 };
+
+ return !Array.prototype.some.call(obj, callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js
new file mode 100644
index 000000000..04642e8ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-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.17-7-c-iii-4",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a boolean (value is true)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return true;
+ }
+
+ var obj = { 0: 11, length: 2 };
+
+ return Array.prototype.some.call(obj, callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js
new file mode 100644
index 000000000..8949ce394
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-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.17-7-c-iii-5",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is 0)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return 0;
+ }
+
+ return ![11].some(callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js
new file mode 100644
index 000000000..b96be6f5e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.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.17-7-c-iii-6",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is +0)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return +0;
+ }
+
+ return ![11].some(callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js
new file mode 100644
index 000000000..82e822a72
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.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.17-7-c-iii-7",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is -0)",
+
+ test: function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(val, idx, obj) {
+ accessed = true;
+ return -0;
+ }
+
+ return ![11].some(callbackfn) && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js
new file mode 100644
index 000000000..8b5c0f16f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.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.17-7-c-iii-8",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is positive number)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return 5;
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js
new file mode 100644
index 000000000..9fa167a6b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.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.17-7-c-iii-9",
+
+ path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js",
+
+ description: "Array.prototype.some - return value of callbackfn is a number (value is negative number)",
+
+ test: function testcase() {
+
+ function callbackfn(val, idx, obj) {
+ return -5;
+ }
+
+ return [11].some(callbackfn);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js
new file mode 100644
index 000000000..f199c0087
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-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.17-8-1",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (empty array)",
+
+test: function testcase() {
+ function cb(){}
+ var i = [].some(cb);
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js
new file mode 100644
index 000000000..c40c197ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.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.17-8-10",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js",
+
+description: "Array.prototype.some - subclassed array when length is reduced",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = 2;
+
+ function cb(val)
+ {
+ if(val > 2)
+ return true;
+ else
+ return false;
+ }
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js
new file mode 100644
index 000000000..81dabf9e6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.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.17-8-11",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js",
+
+description: "Array.prototype.some returns false when all calls to callbackfn return false",
+
+test: function testcase() {
+
+ var callCnt = 0;
+ function callbackfn(val, idx, obj)
+ {
+ callCnt++;
+ return false;
+ }
+
+ var arr = [0,1,2,3,4,5,6,7,8,9];
+
+ if(arr.some(callbackfn) === false && callCnt === 10)
+ return true;
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js
new file mode 100644
index 000000000..027018ed9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.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.17-8-12",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js",
+
+description: "Array.prototype.some doesn't mutate the array on which it is called on",
+
+test: function testcase() {
+
+ function callbackfn(val, idx, obj)
+ {
+ return true;
+ }
+ var arr = [1,2,3,4,5];
+ arr.some(callbackfn);
+ if(arr[0] === 1 &&
+ arr[1] === 2 &&
+ arr[2] === 3 &&
+ arr[3] === 4 &&
+ arr[4] === 5)
+ {
+ return true;
+ }
+
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js
new file mode 100644
index 000000000..a803520f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.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.17-8-13",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js",
+
+description: "Array.prototype.some doesn't visit expandos",
+
+test: function testcase() {
+
+ var callCnt = 0;
+ function callbackfn(val, idx, obj)
+ {
+ callCnt++;
+ return false;
+ }
+
+ var arr = [0,1,2,3,4,5,6,7,8,9];
+ arr["i"] = 10;
+ arr[true] = 11;
+
+ if(arr.some(callbackfn) === false && callCnt === 10)
+ return true;
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js
new file mode 100644
index 000000000..37c1cbc86
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-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.17-8-2",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to null (type conversion))",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = null;
+
+ function cb(){}
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js
new file mode 100644
index 000000000..3409ce7af
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.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.17-8-3",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to false (type conversion))",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = false;
+
+ function cb(){}
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js
new file mode 100644
index 000000000..87a0cf5dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-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.17-8-4",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = 0;
+
+ function cb(){}
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js
new file mode 100644
index 000000000..7308a8405
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.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.17-8-5",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = '0';
+
+ function cb(){}
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js
new file mode 100644
index 000000000..c78782487
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.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.17-8-6",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+
+ var o = { valueOf: function () { return 0;}};
+ f.length = o;
+
+ function cb(){}
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js
new file mode 100644
index 000000000..b36c037fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.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.17-8-7",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (subclassed Array, length 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.
+
+ function cb(){}
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js
new file mode 100644
index 000000000..8028a246f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.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.17-8-8",
+
+path: "TestCases/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js",
+
+description: "Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with []",
+
+test: function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+
+ f.length = [];
+
+ // 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.
+
+ function cb(){}
+ var i = f.some(cb);
+
+ if (i === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Array.prototype.some);
+ }
+});