aboutsummaryrefslogtreecommitdiffstats
path: root/test/suite/ch15/15.4/15.4.4/15.4.4.21
diff options
context:
space:
mode:
Diffstat (limited to 'test/suite/ch15/15.4/15.4.4/15.4.4.21')
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js36
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js34
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js40
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js40
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js58
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js40
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js44
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js42
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js42
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js44
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js44
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js56
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js81
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js72
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js56
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js40
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js64
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js58
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js84
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js93
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js86
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js79
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js95
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js94
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js56
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js70
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js44
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js84
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js70
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js80
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js59
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js59
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js59
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js59
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js63
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js75
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js88
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js44
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js44
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js34
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js34
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js53
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js53
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js53
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js53
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js57
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js69
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js83
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js83
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js94
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js81
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js95
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js88
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js80
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js64
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js64
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js77
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js75
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js80
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js59
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js61
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js63
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js71
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js94
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js97
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js80
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js91
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js72
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js64
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js56
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js61
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js70
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js87
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js84
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js83
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js81
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js94
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js88
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js90
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js74
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js90
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js90
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js90
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js86
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js84
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js83
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js80
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js94
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js88
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js90
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js90
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js90
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js70
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js83
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js97
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js92
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js80
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js89
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js89
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js78
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js61
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js61
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js61
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js58
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js73
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js96
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js98
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js80
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js82
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js97
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js66
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js72
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js70
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js46
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js44
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js68
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js60
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js55
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js55
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js54
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js48
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js52
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js50
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js64
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js76
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js70
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js62
-rw-r--r--test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js46
259 files changed, 8526 insertions, 8058 deletions
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js
index 4752c229b..1d204448b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js
@@ -1,18 +1,18 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js
- * @description Array.prototype.reduce must exist as a function
- */
-
-
-function testcase() {
- var f = Array.prototype.reduce;
- if (typeof(f) === "function") {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce must exist as a function
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var f = Array.prototype.reduce;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js
index 963a11350..ace8ab4de 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js
@@ -1,17 +1,17 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js
- * @description Array.prototype.reduce.length must be 1
- */
-
-
-function testcase() {
- if (Array.prototype.reduce.length === 1) {
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce.length must be 1
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ if (Array.prototype.reduce.length === 1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js
index d16a54e6b..a9def8e7a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js
@@ -1,20 +1,20 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js
- * @description Array.prototype.reduce applied to undefined
- */
-
-
-function testcase() {
- try {
- Array.prototype.reduce.call(undefined);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to undefined
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ try {
+ Array.prototype.reduce.call(undefined);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js
index 17105cfc3..722892cbc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js
@@ -1,27 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js
- * @description Array.prototype.reduce applied to the Math object
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return ('[object Math]' === Object.prototype.toString.call(obj));
- }
-
- try {
- Math.length = 1;
- Math[0] = 1;
- return Array.prototype.reduce.call(Math, callbackfn, 1);
- } finally {
- delete Math[0];
- delete Math.length;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to the Math object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return ('[object Math]' === Object.prototype.toString.call(obj));
+ }
+
+ try {
+ Math.length = 1;
+ Math[0] = 1;
+ return Array.prototype.reduce.call(Math, callbackfn, 1);
+ } finally {
+ delete Math[0];
+ delete Math.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js
index 6923a1cad..c31db4022 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js
@@ -1,23 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js
- * @description Array.prototype.reduce applied to Date object
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof Date;
- }
-
- var obj = new Date();
- obj.length = 1;
- obj[0] = 1;
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to Date object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof Date;
+ }
+
+ var obj = new Date();
+ obj.length = 1;
+ obj[0] = 1;
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js
index e5c7d6e4f..937040ff7 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js
@@ -1,23 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js
- * @description Array.prototype.reduce applied to RegExp object
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof RegExp;
- }
-
- var obj = new RegExp();
- obj.length = 1;
- obj[0] = 1;
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to RegExp object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof RegExp;
+ }
+
+ var obj = new RegExp();
+ obj.length = 1;
+ obj[0] = 1;
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js
index a18b849d0..de915c10b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js
@@ -1,27 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js
- * @description Array.prototype.reduce applied to the JSON object
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return ('[object JSON]' === Object.prototype.toString.call(obj));
- }
-
- try {
- JSON.length = 1;
- JSON[0] = 1;
- return Array.prototype.reduce.call(JSON, callbackfn, 1);
- } finally {
- delete JSON.length;
- delete JSON[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to the JSON object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return ('[object JSON]' === Object.prototype.toString.call(obj));
+ }
+
+ try {
+ JSON.length = 1;
+ JSON[0] = 1;
+ return Array.prototype.reduce.call(JSON, callbackfn, 1);
+ } finally {
+ delete JSON.length;
+ delete JSON[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js
index 9b7829261..4bbed2579 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js
@@ -1,23 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js
- * @description Array.prototype.reduce applied to Error object
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof Error;
- }
-
- var obj = new Error();
- obj.length = 1;
- obj[0] = 1;
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to Error object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof Error;
+ }
+
+ var obj = new Error();
+ obj.length = 1;
+ obj[0] = 1;
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js
index ab9438215..139fa3911 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js
- * @description Array.prototype.reduce applied to the Arguments object
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return ('[object Arguments]' === Object.prototype.toString.call(obj));
- }
-
- var obj = (function () {
- return arguments;
- }("a", "b"));
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to the Arguments object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return ('[object Arguments]' === Object.prototype.toString.call(obj));
+ }
+
+ var obj = (function () {
+ return arguments;
+ }("a", "b"));
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js
index 6b2598d70..88ae5615b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js
@@ -1,20 +1,20 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js
- * @description Array.prototype.reduce applied to null
- */
-
-
-function testcase() {
- try {
- Array.prototype.reduce.call(null);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to null
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ try {
+ Array.prototype.reduce.call(null);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js
index 93ac91aa1..58f4cd0d1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js
@@ -1,29 +1,29 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js
- * @description Array.prototype.reduce applied to boolean primitive
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof Boolean;
- }
-
- try {
- Boolean.prototype[0] = true;
- Boolean.prototype.length = 1;
-
- return Array.prototype.reduce.call(false, callbackfn, 1);
-
- } finally {
- delete Boolean.prototype[0];
- delete Boolean.prototype.length;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to boolean primitive
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof Boolean;
+ }
+
+ try {
+ Boolean.prototype[0] = true;
+ Boolean.prototype.length = 1;
+
+ return Array.prototype.reduce.call(false, callbackfn, 1);
+
+ } finally {
+ delete Boolean.prototype[0];
+ delete Boolean.prototype.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js
index 274450faf..401b584bd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js
- * @description Array.prototype.reduce applied to Boolean object
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof Boolean;
- }
-
- var obj = new Boolean(true);
- obj.length = 2;
- obj[0] = 11;
- obj[1] = 12;
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to Boolean object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof Boolean;
+ }
+
+ var obj = new Boolean(true);
+ obj.length = 2;
+ obj[0] = 11;
+ obj[1] = 12;
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js
index 7963db108..2303801dc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js
@@ -1,27 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js
- * @description Array.prototype.reduce applied to number primitive
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof Number;
- }
-
- try {
- Number.prototype[0] = 1;
- Number.prototype.length = 1;
-
- return Array.prototype.reduce.call(2.5, callbackfn, 1);
- } finally {
- delete Number.prototype[0];
- delete Number.prototype.length;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to number primitive
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof Number;
+ }
+
+ try {
+ Number.prototype[0] = 1;
+ Number.prototype.length = 1;
+
+ return Array.prototype.reduce.call(2.5, callbackfn, 1);
+ } finally {
+ delete Number.prototype[0];
+ delete Number.prototype.length;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js
index ddfd67807..8b2c021ce 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js
@@ -1,23 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js
- * @description Array.prototype.reduce applied to Number object
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof Number;
- }
-
- var obj = new Number(-128);
- obj.length = 2;
- obj[0] = 11;
- obj[1] = 12;
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to Number object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof Number;
+ }
+
+ var obj = new Number(-128);
+ obj.length = 2;
+ obj[0] = 11;
+ obj[1] = 12;
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js
index 4447edbe3..69f4895bc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js
@@ -1,20 +1,20 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js
- * @description Array.prototype.reduce applied to string primitive
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof String;
- }
-
- return Array.prototype.reduce.call("abc", callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to string primitive
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof String;
+ }
+
+ return Array.prototype.reduce.call("abc", callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js
index 7ca7872e8..efd435171 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js
@@ -1,22 +1,22 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js
- * @description Array.prototype.reduce applied to String object
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof String;
- }
-
- var obj = new String("abc");
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to String object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof String;
+ }
+
+ var obj = new String("abc");
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js
index dff16be5a..331b16fa6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js
@@ -1,25 +1,25 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js
- * @description Array.prototype.reduce applied to Function object
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return obj instanceof Function;
- }
-
- var obj = function (a, b) {
- return a + b;
- };
- obj[0] = 11;
- obj[1] = 9;
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce applied to Function object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return obj instanceof Function;
+ }
+
+ var obj = function (a, b) {
+ return a + b;
+ };
+ obj[0] = 11;
+ obj[1] = 9;
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js
index 1454d62fd..6ae30fad8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js
- * @description Array.prototype.reduce doesn't mutate the Array on which it is called on
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- return 1;
- }
- var srcArr = [1,2,3,4,5];
- srcArr.reduce(callbackfn);
- if(srcArr[0] === 1 &&
- srcArr[1] === 2 &&
- srcArr[2] === 3 &&
- srcArr[3] === 4 &&
- srcArr[4] === 5)
- {
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce doesn't mutate the Array on which it is
+ called on
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ return 1;
+ }
+ var srcArr = [1,2,3,4,5];
+ srcArr.reduce(callbackfn);
+ if(srcArr[0] === 1 &&
+ srcArr[1] === 2 &&
+ srcArr[2] === 3 &&
+ srcArr[3] === 4 &&
+ srcArr[4] === 5)
+ {
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js
index f1f784512..f5d607f40 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js
- * @description Array.prototype.reduce reduces the array in ascending order of indices
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- return prevVal + curVal;
- }
- var srcArr = ['1','2','3','4','5'];
- if(srcArr.reduce(callbackfn) === '12345')
- {
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce reduces the array in ascending order of
+ indices
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ return prevVal + curVal;
+ }
+ var srcArr = ['1','2','3','4','5'];
+ if(srcArr.reduce(callbackfn) === '12345')
+ {
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js
index fc44c8a88..1c24bfccf 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js
@@ -1,21 +1,21 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js
- * @description Array.prototype.reduce - subclassed array of length 1
- */
-
-
-function testcase() {
- foo.prototype = [1];
- function foo() {}
- var f = new foo();
-
- function cb(){}
- if(f.reduce(cb) === 1)
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - subclassed array of length 1
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = [1];
+ function foo() {}
+ var f = new foo();
+
+ function cb(){}
+ if(f.reduce(cb) === 1)
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js
index 957b7a60a..1d76abfd5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js
@@ -1,21 +1,21 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js
- * @description Array.prototype.reduce - subclassed array with length more than 1
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3, 4);
- function foo() {}
- var f = new foo();
-
- function cb(prevVal, curVal, idx, obj){return prevVal + curVal;}
- if(f.reduce(cb) === 10)
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - subclassed array with length more than 1
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3, 4);
+ function foo() {}
+ var f = new foo();
+
+ function cb(prevVal, curVal, idx, obj){return prevVal + curVal;}
+ if(f.reduce(cb) === 10)
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js
index 42271ef9e..6660a3b19 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js
- * @description Array.prototype.reduce reduces the array in ascending order of indices(initialvalue present)
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- return prevVal + curVal;
- }
- var srcArr = ['1','2','3','4','5'];
- if(srcArr.reduce(callbackfn,'0') === '012345')
- {
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce reduces the array in ascending order of
+ indices(initialvalue present)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ return prevVal + curVal;
+ }
+ var srcArr = ['1','2','3','4','5'];
+ if(srcArr.reduce(callbackfn,'0') === '012345')
+ {
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js
index 719a06609..e17284515 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js
@@ -1,21 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js
- * @description Array.prototype.reduce - subclassed array when initialvalue provided
- */
-
-
-function testcase() {
- foo.prototype = [1,2,3,4];
- function foo() {}
- var f = new foo();
-
- function cb(prevVal, curVal, idx, obj){return prevVal + curVal;}
- if(f.reduce(cb,-1) === 9)
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - subclassed array when initialvalue
+ provided
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = [1,2,3,4];
+ function foo() {}
+ var f = new foo();
+
+ function cb(prevVal, curVal, idx, obj){return prevVal + curVal;}
+ if(f.reduce(cb,-1) === 9)
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js
index ae6ffd2eb..f3b935a97 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js
@@ -1,21 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js
- * @description Array.prototype.reduce - subclassed array with length 1 and initialvalue provided
- */
-
-
-function testcase() {
- foo.prototype = [1];
- function foo() {}
- var f = new foo();
-
- function cb(prevVal, curVal, idx, obj){return prevVal + curVal;}
- if(f.reduce(cb,-1) === 0)
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - subclassed array with length 1 and
+ initialvalue provided
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = [1];
+ function foo() {}
+ var f = new foo();
+
+ function cb(prevVal, curVal, idx, obj){return prevVal + curVal;}
+ if(f.reduce(cb,-1) === 0)
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js
index edc04facf..f85e98ee1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js
@@ -1,31 +1,31 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js
- * @description Array.prototype.reduce doesn't visit expandos
- */
-
-
-function testcase() {
-
- var callCnt = 0;
- function callbackfn(prevVal, curVal, idx, obj)
- {
- callCnt++;
- return curVal;
- }
- var srcArr = ['1','2','3','4','5'];
- srcArr["i"] = 10;
- srcArr[true] = 11;
- srcArr.reduce(callbackfn);
-
- if(callCnt == 4)
- {
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce doesn't visit expandos
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var callCnt = 0;
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ callCnt++;
+ return curVal;
+ }
+ var srcArr = ['1','2','3','4','5'];
+ srcArr["i"] = 10;
+ srcArr[true] = 11;
+ srcArr.reduce(callbackfn);
+
+ if(callCnt == 4)
+ {
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js
index 6f41dda6b..6061bd587 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js
@@ -1,27 +1,29 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js
- * @description Array.prototype.reduce - 'length' is own data property on an Array-like object
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- var obj = {
- 0: 12,
- 1: 11,
- 2: 9,
- length: 2
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is own data property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ var obj = {
+ 0: 12,
+ 1: 11,
+ 2: 9,
+ length: 2
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js
index d9d958416..bba5cfc29 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js
- * @description Array.prototype.reduce applied to Array-like object, 'length' is an inherited accessor property
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- var proto = {};
-
- Object.defineProperty(proto, "length", {
- get: function () {
- return 2;
- },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child[0] = 12;
- child[1] = 11;
- child[2] = 9;
-
- return Array.prototype.reduce.call(child, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object, 'length' is
+ an inherited accessor property
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[0] = 12;
+ child[1] = 11;
+ child[2] = 9;
+
+ return Array.prototype.reduce.call(child, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js
index 9d91bf2e8..0193701d6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js
- * @description Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property without a get function
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- }
-
- var obj = {
- 0: 11,
- 1: 12
- };
- Object.defineProperty(obj, "length", {
- set: function () { },
- configurable: true
- });
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object, 'length' is
+ an own accessor property without a get function
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ }
+
+ var obj = {
+ 0: 11,
+ 1: 12
+ };
+ Object.defineProperty(obj, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js
index e513d33ff..57acb274d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js
@@ -1,39 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js
- * @description Array.prototype.reduce - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- }
-
- try {
- Object.defineProperty(Object.prototype, "length", {
- get: function () {
- return 2;
- },
- configurable: true
- });
-
- var obj = { 0: 12, 1: 11 };
- Object.defineProperty(obj, "length", {
- set: function () { },
- configurable: true
- });
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- } finally {
- delete Object.prototype.length;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is own accessor property without
+ a get function that overrides an inherited accessor property on an
+ Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ }
+
+ try {
+ Object.defineProperty(Object.prototype, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ var obj = { 0: 12, 1: 11 };
+ Object.defineProperty(obj, "length", {
+ set: function () { },
+ configurable: true
+ });
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ } finally {
+ delete Object.prototype.length;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js
index f36617fcd..fc539b87b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js
@@ -1,35 +1,37 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js
- * @description Array.prototype.reduce applied to Array-like object that 'length' is inherited accessor property without a get function
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- }
-
- 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.reduce.call(child, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object that 'length'
+ is inherited accessor property without a get function
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ }
+
+ 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.reduce.call(child, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js
index cdec1882f..35e91fdb2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js
- * @description Array.prototype.reduce applied to the Array-like object that 'length' property doesn't exist
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- }
-
- var obj = { 0: 11, 1: 12 };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to the Array-like object that
+ 'length' property doesn't exist
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ }
+
+ var obj = { 0: 11, 1: 12 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js
index ee69a7e2a..3a7f14b7e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js
@@ -1,32 +1,34 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js
- * @description Array.prototype.reduce - 'length' is property of the global object
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- try {
- var oldLen = fnGlobalObject().length;
- fnGlobalObject()[0] = 12;
- fnGlobalObject()[1] = 11;
- fnGlobalObject()[2] = 9;
- fnGlobalObject().length = 2;
- return Array.prototype.reduce.call(fnGlobalObject(), callbackfn, 1) === true;
- } finally {
- delete fnGlobalObject()[0];
- delete fnGlobalObject()[1];
- delete fnGlobalObject()[2];
- fnGlobalObject().length = oldLen;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - 'length' is property of the global object
+includes:
+ - runTestCase.js
+ - fnGlobalObject.js
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject()[0] = 12;
+ fnGlobalObject()[1] = 11;
+ fnGlobalObject()[2] = 9;
+ fnGlobalObject().length = 2;
+ return Array.prototype.reduce.call(fnGlobalObject(), callbackfn, 1) === true;
+ } finally {
+ delete fnGlobalObject()[0];
+ delete fnGlobalObject()[1];
+ delete fnGlobalObject()[2];
+ fnGlobalObject().length = oldLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js
index ecbb39faa..ecf274872 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js
- * @description Array.prototype.reduce applied to the Arguments object, which implements its own property get method
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- var func = function (a, b) {
- arguments[2] = 9;
- return Array.prototype.reduce.call(arguments, callbackfn, 1);
- };
-
- return func(12, 11) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to the Arguments object, which
+ implements its own property get method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ var func = function (a, b) {
+ arguments[2] = 9;
+ return Array.prototype.reduce.call(arguments, callbackfn, 1);
+ };
+
+ return func(12, 11) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js
index fa6c849cc..55622457c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js
- * @description Array.prototype.reduce applied to String object, which implements its own property get method
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 3);
- }
-
- var str = new String("012");
-
- return Array.prototype.reduce.call(str, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to String object, which implements
+ its own property get method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 3);
+ }
+
+ var str = new String("012");
+
+ return Array.prototype.reduce.call(str, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js
index 2c6a930eb..ab54d57c9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js
@@ -1,27 +1,29 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js
- * @description Array.prototype.reduce applied to Function object, which implements its own property get method
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- var fun = function (a, b) {
- return a + b;
- };
- fun[0] = 12;
- fun[1] = 11;
- fun[2] = 9;
-
- return Array.prototype.reduce.call(fun, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Function object, which
+ implements its own property get method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ var fun = function (a, b) {
+ return a + b;
+ };
+ fun[0] = 12;
+ fun[1] = 11;
+ fun[2] = 9;
+
+ return Array.prototype.reduce.call(fun, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js
index e93fdf37f..a6499eec4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js
@@ -1,20 +1,20 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js
- * @description Array.prototype.reduce - 'length' is own data property on an Array
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- return [12, 11].reduce(callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - 'length' is own data property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ return [12, 11].reduce(callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js
index 164ca827b..6a351abed 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js
@@ -1,31 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js
- * @description Array.prototype.reduce - 'length' is an own data property that overrides an inherited data property on an Array-like object
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- var proto = { length: 3 };
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 2;
- child[0] = 12;
- child[1] = 11;
- child[2] = 9;
-
- return Array.prototype.reduce.call(child, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is an own data property that
+ overrides an inherited data property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ var proto = { length: 3 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+ child[0] = 12;
+ child[1] = 11;
+ child[2] = 9;
+
+ return Array.prototype.reduce.call(child, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js
index 514785827..a96b21839 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js
@@ -1,28 +1,30 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js
- * @description Array.prototype.reduce - 'length' is own data property that overrides an inherited data property on an Array
- */
-
-
-function testcase() {
- var storeProtoLength;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- try {
- storeProtoLength = Array.prototype.length;
- Array.prototype.length = 0;
-
- return [12, 11].reduce(callbackfn, 1) === true;
- } finally {
- Array.prototype.length = storeProtoLength;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is own data property that
+ overrides an inherited data property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var storeProtoLength;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ try {
+ storeProtoLength = Array.prototype.length;
+ Array.prototype.length = 0;
+
+ return [12, 11].reduce(callbackfn, 1) === true;
+ } finally {
+ Array.prototype.length = storeProtoLength;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js
index 798a4c119..9b5d6d71a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js
@@ -1,41 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js
- * @description Array.prototype.reduce applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- 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] = 12;
- child[1] = 11;
- child[2] = 9;
-
- return Array.prototype.reduce.call(child, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object, 'length' is
+ an own data property that overrides an inherited accessor property
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ 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] = 12;
+ child[1] = 11;
+ child[2] = 9;
+
+ return Array.prototype.reduce.call(child, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js
index 10069f82e..67213f1ab 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js
- * @description Array.prototype.reduce applied to Array-like object, 'length' is an inherited data property
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- var proto = { length: 2 };
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child[0] = 12;
- child[1] = 11;
- child[2] = 9;
-
- return Array.prototype.reduce.call(child, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object, 'length' is
+ an inherited data property
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ var proto = { length: 2 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[0] = 12;
+ child[1] = 11;
+ child[2] = 9;
+
+ return Array.prototype.reduce.call(child, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js
index 956cc954b..37fc53283 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js
- * @description Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- var obj = {};
-
- Object.defineProperty(obj, "length", {
- get: function () {
- return 2;
- },
- configurable: true
- });
-
- obj[0] = 12;
- obj[1] = 11;
- obj[2] = 9;
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object, 'length' is
+ an own accessor property
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ var obj = {};
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ obj[0] = 12;
+ obj[1] = 11;
+ obj[2] = 9;
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js
index 226bd641c..4df6eddd5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js
@@ -1,38 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js
- * @description Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- 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] = 12;
- child[1] = 11;
- child[2] = 9;
-
- return Array.prototype.reduce.call(child, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object, 'length' is
+ an own accessor property that overrides an inherited data property
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ 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] = 12;
+ child[1] = 11;
+ child[2] = 9;
+
+ return Array.prototype.reduce.call(child, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js
index d35bca35d..65921b20f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js
@@ -1,45 +1,48 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js
- * @description Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (obj.length === 2);
- }
-
- 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] = 12;
- child[1] = 11;
- child[2] = 9;
-
- return Array.prototype.reduce.call(child, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce applied to Array-like object, 'length' is
+ an own accessor property that overrides an inherited accessor
+ property
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (obj.length === 2);
+ }
+
+ 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] = 12;
+ child[1] = 11;
+ child[2] = 9;
+
+ return Array.prototype.reduce.call(child, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js
index 1bb20958c..0aed35d78 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js
@@ -1,25 +1,25 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js
- * @description Array.prototype.reduce - value of 'length' is undefined
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = { 0: 0, 1: 1, length: undefined };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - value of 'length' is undefined
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = { 0: 0, 1: 1, length: undefined };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js
index 122722cec..7e2a52c2c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js
- * @description Array.prototype.reduce - value of 'length' is number primitive (value is NaN)
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = { 0: 9, length: NaN };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is number primitive
+ (value is NaN)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = { 0: 9, length: NaN };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js
index 89297cf3c..6267017f0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js
- * @description Array.prototype.reduce - 'length' is a string containing a positive number
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: "2" };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is a string containing a
+ positive number
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: "2" };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js
index 2a0b3e217..c85599d81 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js
- * @description Array.prototype.reduce - 'length' is a string containing a negative number
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: "-4294967294" };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is a string containing a
+ negative number
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: "-4294967294" };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js
index 0a1741cfd..dd03b2e18 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js
- * @description Array.prototype.reduce - 'length' is a string containing a decimal number
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: "2.5" };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is a string containing a decimal
+ number
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: "2.5" };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js
index 01f086dfb..19d063eba 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js
@@ -1,42 +1,44 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js
- * @description Array.prototype.reduce - 'length' is a string containing +/-Infinity
- */
-
-
-function testcase() {
-
- var accessed1 = false;
- var accessed2 = false;
- var accessed3 = false;
-
- function callbackfn1(prevVal, curVal, idx, obj) {
- accessed1 = true;
- return 2;
- }
-
- function callbackfn2(prevVal, curVal, idx, obj) {
- accessed2 = true;
- return 2;
- }
-
- function callbackfn3(prevVal, curVal, idx, obj) {
- accessed3 = true;
- return 2;
- }
-
- var obj1 = { 0: 9, length: "Infinity" };
- var obj2 = { 0: 9, length: "-Infinity" };
- var obj3 = { 0: 9, length: "+Infinity" };
-
- return Array.prototype.reduce.call(obj1, callbackfn1, 1) === 1 &&
- Array.prototype.reduce.call(obj2, callbackfn2, 1) === 1 &&
- Array.prototype.reduce.call(obj3, callbackfn3, 1) === 1 &&
- !accessed1 && !accessed2 && !accessed3;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is a string containing
+ +/-Infinity
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed1 = false;
+ var accessed2 = false;
+ var accessed3 = false;
+
+ function callbackfn1(prevVal, curVal, idx, obj) {
+ accessed1 = true;
+ return 2;
+ }
+
+ function callbackfn2(prevVal, curVal, idx, obj) {
+ accessed2 = true;
+ return 2;
+ }
+
+ function callbackfn3(prevVal, curVal, idx, obj) {
+ accessed3 = true;
+ return 2;
+ }
+
+ var obj1 = { 0: 9, length: "Infinity" };
+ var obj2 = { 0: 9, length: "-Infinity" };
+ var obj3 = { 0: 9, length: "+Infinity" };
+
+ return Array.prototype.reduce.call(obj1, callbackfn1, 1) === 1 &&
+ Array.prototype.reduce.call(obj2, callbackfn2, 1) === 1 &&
+ Array.prototype.reduce.call(obj3, callbackfn3, 1) === 1 &&
+ !accessed1 && !accessed2 && !accessed3;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js
index b2086ee21..9726c1f1c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js
- * @description Array.prototype.reduce - 'length' is a string containing an exponential number
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: "2E0" };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is a string containing an
+ exponential number
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: "2E0" };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js
index 187d7b635..63d459bd9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js
- * @description Array.prototype.reduce - 'length' is a string containing a hex number
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: "0x0002" };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is a string containing a hex
+ number
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: "0x0002" };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js
index b2cd47586..bc9f5e776 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js
- * @description Array.prototype.reduce - 'length' is a string containing a number with leading zeros
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: "0002.00" };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is a string containing a number
+ with leading zeros
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: "0002.00" };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js
index 11d782740..cbc3154f3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js
- * @description Array.prototype.reduce - value of 'length' is a string that can't convert to a number
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = { 0: 9, length: "asdf!_" };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a string that can't
+ convert to a number
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = { 0: 9, length: "asdf!_" };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js
index f086ec0e6..65f014e4d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js
- * @description Array.prototype.reduce - value of 'length' is an Object which has an own toString method
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = {
- 1: 11,
- 2: 9,
- length: {
- toString: function () {
- return '2';
- }
- }
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is an Object which has
+ an own toString method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = {
+ 1: 11,
+ 2: 9,
+ length: {
+ toString: function () {
+ return '2';
+ }
+ }
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js
index 85b69685c..f904781e4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js
@@ -1,23 +1,25 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js
- * @description Array.prototype.reduce - value of 'length' is a boolean (value is true)
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 0);
- }
-
- var obj = { 0: 11, 1: 9, length: true };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a boolean (value is
+ true)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 0);
+ }
+
+ var obj = { 0: 11, 1: 9, length: true };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js
index 362d133f9..837e7e60d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js
- * @description Array.prototype.reduce - value of 'length' is an object which has an own valueOf method
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = {
- 1: 11,
- 2: 9,
- length: {
- valueOf: function () {
- return 2;
- }
- }
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is an object which has
+ an own valueOf method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = {
+ 1: 11,
+ 2: 9,
+ length: {
+ valueOf: function () {
+ return 2;
+ }
+ }
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js
index 0f1fde7b7..ece437f36 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js
@@ -1,38 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js
- * @description Array.prototype.reduce - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string
- */
-
-
-function testcase() {
-
- var valueOfOccured = false;
- var toStringOccured = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = {
- 1: 11,
- 2: 9,
- length: {
- valueOf: function () {
- valueOfOccured = true;
- return {};
- },
- toString: function () {
- toStringOccured = true;
- return '2';
- }
- }
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true && valueOfOccured && toStringOccured;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'length' is an object that has an own
+ valueOf method that returns an object and toString method that
+ returns a string
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var valueOfOccured = false;
+ var toStringOccured = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = {
+ 1: 11,
+ 2: 9,
+ length: {
+ valueOf: function () {
+ valueOfOccured = true;
+ return {};
+ },
+ toString: function () {
+ toStringOccured = true;
+ return '2';
+ }
+ }
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true && valueOfOccured && toStringOccured;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js
index 8794e981a..75ed4dcf2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js
@@ -1,46 +1,49 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js
- * @description Array.prototype.reduce throws TypeError exception - 'length' is an object with toString and valueOf methods that don�t return primitive values
- */
-
-
-function testcase() {
-
- var accessed = false;
- var valueOfAccessed = false;
- var toStringAccessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return true;
- }
-
- var obj = {
- 1: 11,
- 2: 12,
-
- length: {
- valueOf: function () {
- valueOfAccessed = true;
- return {};
- },
- toString: function () {
- toStringAccessed = true;
- return {};
- }
- }
- };
-
- try {
- Array.prototype.reduce.call(obj, callbackfn, 1);
- return false;
- } catch (ex) {
- return (ex instanceof TypeError) && !accessed && toStringAccessed && valueOfAccessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError exception - 'length' is an
+ object with toString and valueOf methods that don�t return
+ primitive values
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var valueOfAccessed = false;
+ var toStringAccessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return true;
+ }
+
+ var obj = {
+ 1: 11,
+ 2: 12,
+
+ length: {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ },
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ }
+ }
+ };
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn, 1);
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && !accessed && toStringAccessed && valueOfAccessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js
index 9e3e05d67..d9266beb2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js
@@ -1,46 +1,48 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js
- * @description Array.prototype.reduce uses inherited valueOf method - 'length' is an object with an own toString and inherited valueOf methods
- */
-
-
-function testcase() {
-
- var valueOfAccessed = false;
- var toStringAccessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- 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 = {
- 1: 11,
- 2: 9,
- length: child
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true && valueOfAccessed && !toStringAccessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce uses inherited valueOf method - 'length' is
+ an object with an own toString and inherited valueOf methods
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var valueOfAccessed = false;
+ var toStringAccessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ 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 = {
+ 1: 11,
+ 2: 9,
+ length: child
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true && valueOfAccessed && !toStringAccessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js
index 4756c93ba..ef83e297f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js
- * @description Array.prototype.reduce - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = {
- 1: 11,
- 2: 9,
- length: 2.685
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a positive
+ non-integer, ensure truncation occurs in the proper direction
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = {
+ 1: 11,
+ 2: 9,
+ length: 2.685
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js
index 2a7cb1264..21795ecbd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js
- * @description Array.prototype.reduce - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = {
- 1: 11,
- 2: 9,
- length: -4294967294.5
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a negative
+ non-integer, ensure truncation occurs in the proper direction
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = {
+ 1: 11,
+ 2: 9,
+ length: -4294967294.5
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js
index 97082927f..80919e07f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js
@@ -1,28 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js
- * @description Array.prototype.reduce - value of 'length' is boundary value (2^32)
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = {
- 0: 12,
- length: 4294967296
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - value of 'length' is boundary value (2^32)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = {
+ 0: 12,
+ length: 4294967296
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js
index 774d29ae1..d69f6ba4d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js
- * @description Array.prototype.reduce - value of 'length' is boundary value (2^32 + 1)
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 0);
- }
-
- var obj = {
- 0: 11,
- 1: 9,
- length: 4294967297
- };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is boundary value (2^32
+ + 1)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 0);
+ }
+
+ var obj = {
+ 0: 11,
+ 1: 9,
+ length: 4294967297
+ };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js
index 785ad88c4..b15ddfa67 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js
@@ -1,25 +1,25 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js
- * @description Array.prototype.reduce - value of 'length' is a number (value is 0)
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = { 0: 1, 1: 1, length: 0 };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - value of 'length' is a number (value is 0)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = { 0: 1, 1: 1, length: 0 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js
index 6a58f9455..bb115800a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js
- * @description Array.prototype.reduce - value of 'length' is a number (value is +0)
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = { 0: 11, length: +0 };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a number (value is
+ +0)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = { 0: 11, length: +0 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js
index 8bacc6257..160a70eb0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js
- * @description Array.prototype.reduce - value of 'length' is a number (value is -0)
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = { 0: 11, length: -0 };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a number (value is
+ -0)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = { 0: 11, length: -0 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js
index 921c787b0..7eecca6d1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js
- * @description Array.prototype.reduce - value of 'length' is a number (value is positive)
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: 2 };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a number (value is
+ positive)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: 2 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js
index ac61e1b6d..969451f19 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js
- * @description Array.prototype.reduce - value of 'length' is a number (value is negative)
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal === 11 && idx === 1);
- }
-
- var obj = { 1: 11, 2: 9, length: -4294967294 };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a number (value is
+ negative)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal === 11 && idx === 1);
+ }
+
+ var obj = { 1: 11, 2: 9, length: -4294967294 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js
index ea8dab5c2..d986ae3e3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js
- * @description Array.prototype.reduce - value of 'length' is a number (value is Infinity)
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return 2;
- }
-
- var obj = { 0: 9, length: Infinity };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a number (value is
+ Infinity)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return 2;
+ }
+
+ var obj = { 0: 9, length: Infinity };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js
index 09419edff..690c9fbb1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js
- * @description Array.prototype.reduce - value of 'length' is a number (value is -Infinity)
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- }
-
- var obj = { 0: 9, length: -Infinity };
-
- return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'length' is a number (value is
+ -Infinity)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ }
+
+ var obj = { 0: 9, length: -Infinity };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js
index 203c5f4fb..51c9d1971 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js
- * @description Array.prototype.reduce throws TypeError if callbackfn is undefined
- */
-
-
-function testcase() {
-
- var arr = new Array(10);
- try {
- arr.reduce();
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce throws TypeError if callbackfn is undefined
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.reduce();
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js
index e87a5d221..b938c690b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js
- * @description Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2
- */
-
-
-function testcase() {
-
- var obj = { 0: 11, 1: 12 };
-
- Object.defineProperty(obj, "length", {
- get: function () {
- throw new SyntaxError();
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, undefined);
- return false;
- } catch (ex) {
- return !(ex instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the exception is not thrown if exception
+ was thrown by step 2
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var obj = { 0: 11, 1: 12 };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ throw new SyntaxError();
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, undefined);
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js
index 7f7bb626c..45d0eb93c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js
@@ -1,34 +1,36 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js
- * @description Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3
- */
-
-
-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.reduce.call(obj, undefined);
- return false;
- } catch (ex) {
- return !(ex instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the exception is not thrown if exception
+ was thrown by step 3
+includes: [runTestCase.js]
+---*/
+
+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.reduce.call(obj, undefined);
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js
index cca11c199..db4c7270c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js
@@ -1,22 +1,22 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js
- * @description Array.prototype.reduce - 'callbackfn' is a function
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return curVal > 10;
- }
-
- return [11, 9].reduce(callbackfn, 1) === false && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - 'callbackfn' is a function
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return curVal > 10;
+ }
+
+ return [11, 9].reduce(callbackfn, 1) === false && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js
index fd2b44373..ec83c5767 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js
- * @description Array.prototype.reduce - calling with no callbackfn is the same as passing undefined for callbackfn
- */
-
-
-function testcase() {
- var obj = { 10: 10 };
- 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.reduce.call(obj);
- return false;
- } catch (ex) {
- return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - calling with no callbackfn is the same as
+ passing undefined for callbackfn
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var obj = { 10: 10 };
+ 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.reduce.call(obj);
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js
index d804f29b7..bfec9cda5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js
- * @description Array.prototype.reduce throws ReferenceError if callbackfn is unreferenced
- */
-
-
-function testcase() {
-
- var arr = new Array(10);
- try {
- arr.reduce(foo);
- }
- catch(e) {
- if(e instanceof ReferenceError)
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws ReferenceError if callbackfn is
+ unreferenced
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.reduce(foo);
+ }
+ catch(e) {
+ if(e instanceof ReferenceError)
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js
index 8e41ec67b..1e8f21738 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js
- * @description Array.prototype.reduce throws TypeError if callbackfn is null
- */
-
-
-function testcase() {
-
- var arr = new Array(10);
- try {
- arr.reduce(null);
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce throws TypeError if callbackfn is null
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.reduce(null);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js
index 4bdd99973..ffc6775a0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js
- * @description Array.prototype.reduce throws TypeError if callbackfn is boolean
- */
-
-
-function testcase() {
-
- var arr = new Array(10);
- try {
- arr.reduce(true);
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce throws TypeError if callbackfn is boolean
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.reduce(true);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js
index 89232db4f..9e8b3ff77 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js
- * @description Array.prototype.reduce throws TypeError if callbackfn is number
- */
-
-
-function testcase() {
-
- var arr = new Array(10);
- try {
- arr.reduce(5);
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce throws TypeError if callbackfn is number
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.reduce(5);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js
index 6f7a5fbb0..ef63f528d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js
- * @description Array.prototype.reduce throws TypeError if callbackfn is string
- */
-
-
-function testcase() {
-
- var arr = new Array(10);
- try {
- arr.reduce("abc");
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce throws TypeError if callbackfn is string
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.reduce("abc");
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js
index 4925be776..90d5dfd34 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js
- * @description Array.prototype.reduce throws TypeError if callbackfn is Object without [[Call]] internal method
- */
-
-
-function testcase() {
-
- var arr = new Array(10);
- try {
- arr.reduce(new Object());
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if callbackfn is Object
+ without [[Call]] internal method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = new Array(10);
+ try {
+ arr.reduce(new Object());
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js
index a42eac725..7ee42eec7 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js
- * @description Array.prototype.reduce - side effects produced by step 2 are visible when an exception occurs
- */
-
-
-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.reduce.call(obj, null);
- return false;
- } catch (ex) {
- return ex instanceof TypeError && accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - side effects produced by step 2 are
+ visible when an exception occurs
+includes: [runTestCase.js]
+---*/
+
+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.reduce.call(obj, null);
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError && accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js
index c7dc059f0..87a948e43 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js
- * @description Array.prototype.reduce - side effects produced by step 3 are visible when an exception occurs
- */
-
-
-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.reduce.call(obj, null);
- return false;
- } catch (ex) {
- return ex instanceof TypeError && accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - side effects produced by step 3 are
+ visible when an exception occurs
+includes: [runTestCase.js]
+---*/
+
+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.reduce.call(obj, null);
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError && accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js
index cbc6d9894..b595bfffb 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (empty array), no initVal
- */
-
-
-function testcase() {
- function cb(){}
-
- try {
- [].reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0 (empty
+ array), no initVal
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function cb(){}
+
+ try {
+ [].reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js
index 710006b98..8cf55651e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js
- * @description Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal > 10);
- }
-
- var obj = { 0: 11, 1: 12 };
-
- var accessed = false;
-
- Object.defineProperty(obj, "length", {
- get: function () {
- accessed = true;
- return 0;
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, callbackfn);
- return false;
- } catch (ex) {
- return (ex instanceof TypeError) && accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - if exception occurs, it occurs after any
+ side-effects that might be produced by step 2
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal > 10);
+ }
+
+ var obj = { 0: 11, 1: 12 };
+
+ var accessed = false;
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ accessed = true;
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js
index fbbd84d65..8c18cc0eb 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js
@@ -1,41 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js
- * @description Array.prototype.reduce - if the exception occurs, it occurs after any side-effects that might be produced by step 3
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal > 10);
- }
-
- var obj = { 0: 11, 1: 12 };
-
- var accessed = false;
-
- Object.defineProperty(obj, "length", {
- get: function () {
- return {
- toString: function () {
- accessed = true;
- return "0";
- }
- };
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, callbackfn);
- return false;
- } catch (ex) {
- return (ex instanceof TypeError) && accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - if the exception occurs, it occurs after
+ any side-effects that might be produced by step 3
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal > 10);
+ }
+
+ var obj = { 0: 11, 1: 12 };
+
+ var accessed = false;
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ toString: function () {
+ accessed = true;
+ return "0";
+ }
+ };
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js
index 7aafcd35d..ada735548 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js
@@ -1,34 +1,36 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js
- * @description Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal > 10);
- }
-
- var obj = { 0: 11, 1: 12 };
-
- Object.defineProperty(obj, "length", {
- get: function () {
- throw new SyntaxError();
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, callbackfn);
- return false;
- } catch (ex) {
- return !(ex instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the exception is not thrown if exception
+ was thrown by step 2
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal > 10);
+ }
+
+ var obj = { 0: 11, 1: 12 };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ throw new SyntaxError();
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js
index fd2c46224..a8e9fc9c9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js
@@ -1,39 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js
- * @description Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return (curVal > 10);
- }
-
- var obj = { 0: 11, 1: 12 };
-
- Object.defineProperty(obj, "length", {
- get: function () {
- return {
- toString: function () {
- throw new SyntaxError();
- }
- };
- },
- configurable: true
- });
-
-
- try {
- Array.prototype.reduce.call(obj, callbackfn);
- return false;
- } catch (ex) {
- return !(ex instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the exception is not thrown if exception
+ was thrown by step 3
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return (curVal > 10);
+ }
+
+ var obj = { 0: 11, 1: 12 };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ toString: function () {
+ throw new SyntaxError();
+ }
+ };
+ },
+ configurable: true
+ });
+
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js
index ac8b265f6..0f10bc3e5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js
@@ -1,28 +1,31 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = null;
-
- function cb(){}
- try {
- f.reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0
+ (subclassed Array, length overridden to null (type conversion)),
+ no initVal
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = null;
+
+ function cb(){}
+ try {
+ f.reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js
index e5f25b103..8e21fd3b6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js
@@ -1,28 +1,31 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = false;
-
- function cb(){}
- try {
- f.reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0
+ (subclassed Array, length overridden to false (type conversion)),
+ no initVal
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = false;
+
+ function cb(){}
+ try {
+ f.reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js
index f0fe536c7..96e33e4e9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js
@@ -1,28 +1,31 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = 0;
-
- function cb(){}
- try {
- f.reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0
+ (subclassed Array, length overridden to 0 (type conversion)), no
+ initVal
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = 0;
+
+ function cb(){}
+ try {
+ f.reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js
index 8cdf1ddd4..21fd116ab 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js
@@ -1,28 +1,31 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = '0';
-
- function cb(){}
- try {
- f.reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0
+ (subclassed Array, length overridden to '0' (type conversion)), no
+ initVal
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = '0';
+
+ function cb(){}
+ try {
+ f.reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js
index dc9de2289..a490bac28 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js
@@ -1,30 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal
- */
-
-
-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(){}
- try {
- f.reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0
+ (subclassed Array, length overridden with obj with valueOf), no
+ initVal
+includes: [runTestCase.js]
+---*/
+
+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(){}
+ try {
+ f.reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js
index c127bc38c..de40b9021 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js
@@ -1,36 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal
- */
-
-
-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(){}
- try {
- f.reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0
+ (subclassed Array, length overridden with obj w/o valueOf
+ (toString)), no initVal
+includes: [runTestCase.js]
+---*/
+
+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(){}
+ try {
+ f.reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js
index 9f8f57683..f0544092c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js
@@ -1,43 +1,45 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js
- * @description Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal
- */
-
-
-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(){}
- try {
- f.reduce(cb);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError if 'length' is 0
+ (subclassed Array, length overridden with []), no initVal
+includes: [runTestCase.js]
+---*/
+
+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(){}
+ try {
+ f.reduce(cb);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js
index b6cbece42..6e08ad029 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js
@@ -1,21 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js
- * @description Array.prototype.reduce - 'initialValue' is returned if 'len' is 0 and 'initialValue' is present
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- }
-
- return [].reduce(callbackfn, 3) === 3 && !accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'initialValue' is returned if 'len' is 0
+ and 'initialValue' is present
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ }
+
+ return [].reduce(callbackfn, 3) === 3 && !accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js
index 20b713137..f5fe154a9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js
@@ -1,21 +1,23 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (empty array)
- */
-
-
-function testcase() {
- function cb(){}
-
- try {
- if([].reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (empty array)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function cb(){}
+
+ try {
+ if([].reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js
index 5b26688ab..8d3a2b0b2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js
@@ -1,17 +1,17 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js
- * @description Array.prototype.reduce - 'initialValue' is present
- */
-
-
-function testcase() {
-
- var str = "initialValue is present";
- return str === [].reduce(function () { }, str);
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - 'initialValue' is present
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var str = "initialValue is present";
+ return str === [].reduce(function () { }, str);
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js
index 9546e7e26..d61060309 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js
@@ -1,17 +1,17 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js
- * @description Array.prototype.reduce - 'initialValue' is not present
- */
-
-
-function testcase() {
-
- var str = "initialValue is not present";
- return str === [str].reduce(function () { });
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - 'initialValue' is not present
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var str = "initialValue is not present";
+ return str === [str].reduce(function () { });
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js
index a60a31b3e..7d1de234b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js
@@ -1,25 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to null (type conversion))
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = null;
-
- function cb(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden to
+ null (type conversion))
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = null;
+
+ function cb(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js
index 1e053ffdd..aed3286cf 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js
@@ -1,25 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to false (type conversion))
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = false;
-
- function cb(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden to
+ false (type conversion))
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = false;
+
+ function cb(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js
index 7faee731e..f87ee8ebd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js
@@ -1,25 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to 0 (type conversion))
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = 0;
-
- function cb(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden to 0
+ (type conversion))
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = 0;
+
+ function cb(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js
index 38b8244d2..6eb485c31 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js
@@ -1,25 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to '0' (type conversion))
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
- f.length = '0';
-
- function cb(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden to
+ '0' (type conversion))
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+ f.length = '0';
+
+ function cb(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js
index 752a82e11..5c9ef6023 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js
@@ -1,27 +1,30 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj with valueOf)
- */
-
-
-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(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden with
+ obj with valueOf)
+includes: [runTestCase.js]
+---*/
+
+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(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js
index 1c04ec216..cfb99d59e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js
@@ -1,33 +1,36 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj w/o valueOf (toString))
- */
-
-
-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(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden with
+ obj w/o valueOf (toString))
+includes: [runTestCase.js]
+---*/
+
+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(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js
index 04af24be1..5394f0ca2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js
@@ -1,40 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [])
- */
-
-
-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(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden with
+ [])
+includes: [runTestCase.js]
+---*/
+
+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(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js
index 6b28dc31e..de83c54d9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js
@@ -1,40 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js
- * @description Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [0])
- */
-
-
-function testcase() {
- foo.prototype = new Array(1, 2, 3);
- function foo() {}
- var f = new foo();
-
- f.length = [0];
-
- // 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(){}
- try {
- if(f.reduce(cb,1) === 1)
- return true;
- }
- catch (e) { }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialValue if 'length' is 0 and
+ initialValue is present (subclassed Array, length overridden with
+ [0])
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ foo.prototype = new Array(1, 2, 3);
+ function foo() {}
+ var f = new foo();
+
+ f.length = [0];
+
+ // 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(){}
+ try {
+ if(f.reduce(cb,1) === 1)
+ return true;
+ }
+ catch (e) { }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js
index 877c62291..df0c645a0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js
@@ -1,33 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js
- * @description Array.prototype.reduce - no observable effects occur if 'len' is 0
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- var obj = { length: 0 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- accessed = true;
- return 10;
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, function () { });
- return false;
- } catch (ex) {
- return !accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - no observable effects occur if 'len' is 0
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ var obj = { length: 0 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ accessed = true;
+ return 10;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, function () { });
+ return false;
+ } catch (ex) {
+ return !accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js
index 3c04d5281..eb862a1c0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js
- * @description Array.prototype.reduce - modifications to length don't change number of iterations in step 9
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- return idx;
- }
-
- var obj = { 3: 12, 4: 9, length: 4 };
-
- Object.defineProperty(obj, "2", {
- get: function () {
- obj.length = 10;
- return 11;
- },
- configurable: true
- });
-
- return Array.prototype.reduce.call(obj, callbackfn) === 3;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - modifications to length don't change
+ number of iterations in step 9
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ return idx;
+ }
+
+ var obj = { 3: 12, 4: 9, length: 4 };
+
+ Object.defineProperty(obj, "2", {
+ get: function () {
+ obj.length = 10;
+ return 11;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.reduce.call(obj, callbackfn) === 3;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js
index 95671a585..52dfc0199 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js
@@ -1,47 +1,47 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js
- * @description Array.prototype.reduce - loop is broken once 'kPresent' is true
- */
-
-
-function testcase() {
-
- var called = 0;
- var testResult = false;
- var firstCalled = 0;
- var secondCalled = 0;
-
- function callbackfn(prevVal, val, idx, obj) {
- if (called === 0) {
- testResult = (idx === 1);
- }
- called++;
- }
-
- var arr = [, , ];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- firstCalled++;
- return 11;
- },
- configurable: true
- });
-
- Object.defineProperty(arr, "1", {
- get: function () {
- secondCalled++;
- return 9;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult && firstCalled === 1 && secondCalled === 1;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - loop is broken once 'kPresent' is true
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var called = 0;
+ var testResult = false;
+ var firstCalled = 0;
+ var secondCalled = 0;
+
+ function callbackfn(prevVal, val, idx, obj) {
+ if (called === 0) {
+ testResult = (idx === 1);
+ }
+ called++;
+ }
+
+ var arr = [, , ];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ firstCalled++;
+ return 11;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ secondCalled++;
+ return 9;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult && firstCalled === 1 && secondCalled === 1;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js
index a5890cbbf..a00959661 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js
- * @description Array.prototype.reduce - added properties in step 2 are visible here
- */
-
-
-function testcase() {
-
- var obj = { };
-
- Object.defineProperty(obj, "length", {
- get: function () {
- obj[1] = "accumulator";
- return 3;
- },
- configurable: true
- });
-
- return Array.prototype.reduce.call(obj, function () { }) === "accumulator";
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - added properties in step 2 are visible
+ here
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var obj = { };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ obj[1] = "accumulator";
+ return 3;
+ },
+ configurable: true
+ });
+
+ return Array.prototype.reduce.call(obj, function () { }) === "accumulator";
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js
index a65b9b40c..d6e0edf03 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js
- * @description Array.prototype.reduce - deleted properties in step 2 are visible here
- */
-
-
-function testcase() {
-
- var obj = { 1: "accumulator", 2: "another" };
-
- Object.defineProperty(obj, "length", {
- get: function () {
- delete obj[1];
- return 3;
- },
- configurable: true
- });
-
- return "accumulator" !== Array.prototype.reduce.call(obj, function () { });
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleted properties in step 2 are visible
+ here
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var obj = { 1: "accumulator", 2: "another" };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ delete obj[1];
+ return 3;
+ },
+ configurable: true
+ });
+
+ return "accumulator" !== Array.prototype.reduce.call(obj, function () { });
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js
index 9ec1ff66f..de9377f73 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js
- * @description Array.prototype.reduce - element to be retrieved is own data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var obj = { 0: 0, 1: 1, 2: 2, length: 2 };
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var obj = { 0: 0, 1: 1, 2: 2, length: 2 };
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js
index 416ece163..659a43891 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js
- * @description Array.prototype.reduce - when element to be retrieved is own accessor property on an Array
- */
-
-
-function testcase() {
- var testResult = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var arr = [, 1, 2];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - when element to be retrieved is own
+ accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var testResult = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var arr = [, 1, 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js
index 5df02d1d6..ecc7bf552 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js
@@ -1,39 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === "9");
- }
- }
-
- var proto = { 0: 0, 1: 1, 2: 2 };
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Object.defineProperty(child, "0", {
- get: function () {
- return "9";
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(child, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited data property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === "9");
+ }
+ }
+
+ var proto = { 0: 0, 1: 1, 2: 2 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Object.defineProperty(child, "0", {
+ get: function () {
+ return "9";
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(child, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js
index 641dfbfba..b96b47228 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js
@@ -1,38 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array
- */
-
-
-function testcase() {
- var testResult = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === "9");
- }
- }
-
- try {
- Array.prototype[0] = 0;
- var arr = [, 1, 2];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- return "9";
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult;
- } finally {
- delete Array.prototype[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited data property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var testResult = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === "9");
+ }
+ }
+
+ try {
+ Array.prototype[0] = 0;
+ var arr = [, 1, 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return "9";
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js
index 882081871..f467d2154 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js
@@ -1,46 +1,49 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
- var testResult = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === "9");
- }
- }
-
- var proto = { 1: 1, 2: 2};
-
- Object.defineProperty(proto, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Object.defineProperty(child, "0", {
- get: function () {
- return "9";
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(child, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited accessor property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var testResult = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === "9");
+ }
+ }
+
+ var proto = { 1: 1, 2: 2};
+
+ Object.defineProperty(proto, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Object.defineProperty(child, "0", {
+ get: function () {
+ return "9";
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(child, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js
index 146ea6d15..f83a166da 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js
@@ -1,43 +1,45 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === "9");
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- var arr = [, 1, 2];
- Object.defineProperty(arr, "0", {
- get: function () {
- return "9";
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult;
- } finally {
- delete Array.prototype[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === "9");
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var arr = [, 1, 2];
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return "9";
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js
index 50e203ee7..5c2f25cf0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js
@@ -1,39 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var proto = { 1: 1, 2: 2 };
-
- Object.defineProperty(proto, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var proto = { 1: 1, 2: 2 };
+
+ Object.defineProperty(proto, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js
index 0364f42f8..1b1bc1d47 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- var arr = [, 1, 2];
-
- arr.reduce(callbackfn);
- return testResult;
- } finally {
- delete Array.prototype[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var arr = [, 1, 2];
+
+ arr.reduce(callbackfn);
+ return testResult;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js
index f8e267513..b3d3496dd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js
@@ -1,31 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === undefined);
- }
- }
-
- var obj = { 1: 1, 2: 2, length: 3 };
-
- Object.defineProperty(obj, "0", {
- set: function () { },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === undefined);
+ }
+ }
+
+ var obj = { 1: 1, 2: 2, length: 3 };
+
+ Object.defineProperty(obj, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js
index 1dea9e3e5..19310b604 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js
@@ -1,31 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === undefined);
- }
- }
-
- var arr = [, 1, 2];
-
- Object.defineProperty(arr, "0", {
- set: function () { },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === undefined);
+ }
+ }
+
+ var arr = [, 1, 2];
+
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js
index e14193e0b..5551b68b8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js
@@ -1,37 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === undefined);
- }
- }
-
- try {
- Object.prototype[0] = 0;
-
- var obj = { 1: 1, 2: 2, length: 3 };
-
- Object.defineProperty(obj, "0", {
- set: function () { },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
- } finally {
- delete Object.prototype[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function that overrides an inherited
+ accessor property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === undefined);
+ }
+ }
+
+ try {
+ Object.prototype[0] = 0;
+
+ var obj = { 1: 1, 2: 2, length: 3 };
+
+ Object.defineProperty(obj, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+ } finally {
+ delete Object.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js
index 6156849bc..357af359f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js
- * @description Array.prototype.reduce - element to be retrieved is own data property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var arr = [0, 1, 2];
- arr.reduce(callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var arr = [0, 1, 2];
+ arr.reduce(callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js
index fd0de8ec2..655e07b0c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js
@@ -1,36 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === undefined);
- }
- }
-
- try {
- Array.prototype[0] = 0;
- var arr = [, 1, 2];
- Object.defineProperty(arr, "0", {
- set: function () { },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult;
-
- } finally {
- delete Array.prototype[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function that overrides an inherited
+ accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === undefined);
+ }
+ }
+
+ try {
+ Array.prototype[0] = 0;
+ var arr = [, 1, 2];
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js
index 7f2b49976..fa0542d1e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === undefined);
- }
- }
-
- var proto = { 1: 1, 2: 2 };
-
- Object.defineProperty(proto, "0", {
- set: function () { },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property without a get function on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === undefined);
+ }
+ }
+
+ var proto = { 1: 1, 2: 2 };
+
+ Object.defineProperty(proto, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js
index 1806ba920..d1a88db12 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === undefined);
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "0", {
- set: function () { },
- configurable: true
- });
-
- var arr = [, 1, 2];
-
- arr.reduce(callbackfn);
- return testResult;
-
- } finally {
- delete Array.prototype[0];
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property without a get function on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === undefined);
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ var arr = [, 1, 2];
+
+ arr.reduce(callbackfn);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[0];
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js
index 514b123a1..ad469cfcb 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js
@@ -1,38 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js
- * @description Array.prototype.reduce - This object is the global object which contains index property
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- try {
- var oldLen = fnGlobalObject().length;
- fnGlobalObject()[0] = 0;
- fnGlobalObject()[1] = 1;
- fnGlobalObject()[2] = 2;
- fnGlobalObject().length = 3;
-
- Array.prototype.reduce.call(fnGlobalObject(), callbackfn);
- return testResult;
-
- } finally {
- delete fnGlobalObject()[0];
- delete fnGlobalObject()[1];
- delete fnGlobalObject()[2];
- fnGlobalObject().length = oldLen;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the global object which
+ contains index property
+includes:
+ - runTestCase.js
+ - fnGlobalObject.js
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject()[0] = 0;
+ fnGlobalObject()[1] = 1;
+ fnGlobalObject()[2] = 2;
+ fnGlobalObject().length = 3;
+
+ Array.prototype.reduce.call(fnGlobalObject(), callbackfn);
+ return testResult;
+
+ } finally {
+ delete fnGlobalObject()[0];
+ delete fnGlobalObject()[1];
+ delete fnGlobalObject()[2];
+ fnGlobalObject().length = oldLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js
index d9377dfdf..fad0bbb7f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js
@@ -1,28 +1,31 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js
- * @description Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var func = function (a, b, c) {
- Array.prototype.reduce.call(arguments, callbackfn);
- };
-
- func(0, 1);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the Arguments object which
+ implements its own property get method (number of arguments is
+ less than number of parameters)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var func = function (a, b, c) {
+ Array.prototype.reduce.call(arguments, callbackfn);
+ };
+
+ func(0, 1);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js
index 64b7a17fd..9a32c1948 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js
@@ -1,29 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js
- * @description Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 2) {
- testResult = (prevVal === 1);
- }
- }
-
- var func = function (a, b, c) {
- delete arguments[0];
- Array.prototype.reduce.call(arguments, callbackfn);
- };
-
- func(0, 1, 2);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the Arguments object which
+ implements its own property get method (number of arguments equals
+ number of parameters)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 2) {
+ testResult = (prevVal === 1);
+ }
+ }
+
+ var func = function (a, b, c) {
+ delete arguments[0];
+ Array.prototype.reduce.call(arguments, callbackfn);
+ };
+
+ func(0, 1, 2);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js
index 66b52595d..c88d8a7da 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js
@@ -1,30 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js
- * @description Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 3) {
- testResult = (prevVal === 2);
- }
- }
-
- var func = function (a, b, c) {
- delete arguments[0];
- delete arguments[1];
- Array.prototype.reduce.call(arguments, callbackfn);
- };
-
- func(0, 1, 2, 3);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the Arguments object which
+ implements its own property get method (number of arguments is
+ greater than number of parameters)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 3) {
+ testResult = (prevVal === 2);
+ }
+ }
+
+ var func = function (a, b, c) {
+ delete arguments[0];
+ delete arguments[1];
+ Array.prototype.reduce.call(arguments, callbackfn);
+ };
+
+ func(0, 1, 2, 3);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js
index 10fce9edd..7747624d4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js
- * @description Array.prototype.reduce - applied to String object, which implements its own property get method
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === "0");
- }
- }
-
- var str = new String("012");
- Array.prototype.reduce.call(str, callbackfn);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - applied to String object, which
+ implements its own property get method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === "0");
+ }
+ }
+
+ var str = new String("012");
+ Array.prototype.reduce.call(str, callbackfn);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js
index cdf16a58c..c1d42c145 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js
- * @description Array.prototype.reduce - applied to Function object which implements its own property get method
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var obj = function (a, b, c) {
- return a + b + c;
- };
- obj[0] = 0;
- obj[1] = 1;
- obj[2] = 2;
- obj[3] = 3;
-
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - applied to Function object which
+ implements its own property get method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var obj = function (a, b, c) {
+ return a + b + c;
+ };
+ obj[0] = 0;
+ obj[1] = 1;
+ obj[2] = 2;
+ obj[3] = 3;
+
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js
index 6db69ae35..fca74b1e9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js
@@ -1,34 +1,37 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === "9");
- }
- }
-
- var proto = { 0: 0, 1: 1, 2: 2, length: 3 };
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child[0] = "9";
- child[1] = "1";
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited data property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === "9");
+ }
+ }
+
+ var proto = { 0: 0, 1: 1, 2: 2, length: 3 };
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[0] = "9";
+ child[1] = "1";
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js
index f956ed449..d5d8ef302 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js
@@ -1,46 +1,48 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js
- * @description Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var arr = [, , 2];
- var preIterVisible = false;
-
- Object.defineProperty(arr, "0", {
- get: function () {
- preIterVisible = true;
- return 0;
- },
- configurable: true
- });
-
- Object.defineProperty(arr, "1", {
- get: function () {
- if (preIterVisible) {
- return 1;
- } else {
- return 100;
- }
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element changed by getter on current
+ iterations is observed in subsequent iterations on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var arr = [, , 2];
+ var preIterVisible = false;
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ preIterVisible = true;
+ return 0;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ if (preIterVisible) {
+ return 1;
+ } else {
+ return 100;
+ }
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js
index 320be619a..838d55ff5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js
@@ -1,47 +1,50 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js
- * @description Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var obj = { length: 2 };
- var preIterVisible = false;
-
- Object.defineProperty(obj, "0", {
- get: function () {
- preIterVisible = true;
- return 0;
- },
- configurable: true
- });
-
- Object.defineProperty(obj, "1", {
- get: function () {
- if (preIterVisible) {
- return 1;
- } else {
- return 100;
- }
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element changed by getter on current
+ iterations is observed in subsequent iterations on an Array-like
+ object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var obj = { length: 2 };
+ var preIterVisible = false;
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ preIterVisible = true;
+ return 0;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ if (preIterVisible) {
+ return 1;
+ } else {
+ return 100;
+ }
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js
index 9e434570c..7d97ac477 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js
@@ -1,38 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js
- * @description Array.prototype.reduce - exception in getter terminates iteration on an Array-like object
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx >= 1) {
- accessed = true;
- testResult = (prevVal === 0);
- }
- }
-
- var obj = { 2: 2, 1: 1, length: 3 };
- Object.defineProperty(obj, "0", {
- get: function () {
- throw new RangeError("unhandle exception happened in getter");
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, callbackfn);
- return false;
- } catch (ex) {
- return (ex instanceof RangeError) && !accessed && !testResult;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - exception in getter terminates iteration
+ on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx >= 1) {
+ accessed = true;
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var obj = { 2: 2, 1: 1, length: 3 };
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ throw new RangeError("unhandle exception happened in getter");
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn);
+ return false;
+ } catch (ex) {
+ return (ex instanceof RangeError) && !accessed && !testResult;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js
index aa942b2df..a8782d094 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js
@@ -1,39 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js
- * @description Array.prototype.reduce - exception in getter terminates iteration on an Array
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx >= 1) {
- accessed = true;
- testResult = (prevVal === 0);
- }
- }
-
- var arr = [, 1, 2];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- throw new RangeError("unhandle exception happened in getter");
- },
- configurable: true
- });
-
- try {
- arr.reduce(callbackfn);
- return false;
- } catch (ex) {
- return (ex instanceof RangeError) && !accessed && !testResult;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - exception in getter terminates iteration
+ on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx >= 1) {
+ accessed = true;
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var arr = [, 1, 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ throw new RangeError("unhandle exception happened in getter");
+ },
+ configurable: true
+ });
+
+ try {
+ arr.reduce(callbackfn);
+ return false;
+ } catch (ex) {
+ return (ex instanceof RangeError) && !accessed && !testResult;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js
index 3a948612a..11fb50e4b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- try {
- Array.prototype[0] = "9";
- [0, 1, 2].reduce(callbackfn);
- return testResult;
-
- } finally {
- delete Array.prototype[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited data property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ try {
+ Array.prototype[0] = "9";
+ [0, 1, 2].reduce(callbackfn);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js
index 9b718ecd0..35d61f4d9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js
@@ -1,44 +1,47 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === "9");
- }
- }
-
- var proto = {};
-
- Object.defineProperty(proto, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 2;
- Object.defineProperty(child, "0", {
- value: "9",
- configurable: true
- });
- child[1] = "1";
-
- Array.prototype.reduce.call(child, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited accessor property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === "9");
+ }
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+ Object.defineProperty(child, "0", {
+ value: "9",
+ configurable: true
+ });
+ child[1] = "1";
+
+ Array.prototype.reduce.call(child, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js
index 0c9792fa8..149aa49e5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js
@@ -1,35 +1,37 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "0", {
- get: function () {
- return "5";
- },
- configurable: true
- });
-
- [0, 1, 2].reduce(callbackfn);
- return testResult;
- } finally {
- delete Array.prototype[0];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return "5";
+ },
+ configurable: true
+ });
+
+ [0, 1, 2].reduce(callbackfn);
+ return testResult;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js
index 25d3cbabf..06a91b1bc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js
@@ -1,31 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js
- * @description Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var proto = { 0: 0, 1: 1, 2: 2, length: 3 };
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited data
+ property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var proto = { 0: 0, 1: 1, 2: 2, length: 3 };
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js
index 3744c3ee1..2567c5ef4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js
- * @description Array.prototype.reduce - element to be retrieved is inherited data property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- try {
- Array.prototype[0] = 0;
- Array.prototype[1] = 1;
- Array.prototype[2] = 2;
- [, , ,].reduce(callbackfn);
- return testResult;
- } finally {
- delete Array.prototype[0];
- delete Array.prototype[1];
- delete Array.prototype[2];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited data
+ property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ try {
+ Array.prototype[0] = 0;
+ Array.prototype[1] = 1;
+ Array.prototype[2] = 2;
+ [, , ,].reduce(callbackfn);
+ return testResult;
+ } finally {
+ delete Array.prototype[0];
+ delete Array.prototype[1];
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js
index d6965b3de..1f8dda1ff 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js
@@ -1,32 +1,34 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (prevVal === 0);
- }
- }
-
- var obj = { 1: 1, 2: 2, length: 3 };
- Object.defineProperty(obj, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (prevVal === 0);
+ }
+ }
+
+ var obj = { 1: 1, 2: 2, length: 3 };
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js
index 16fb81fd8..8d11cf811 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js
@@ -1,27 +1,29 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js
- * @description Array.prototype.reduce throws TypeError when Array is empty and initialValue is not present
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- }
-
- var arr = new Array(10);
- try {
- arr.reduce(callbackfn);
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError when Array is empty and
+ initialValue is not present
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ }
+
+ var arr = new Array(10);
+ try {
+ arr.reduce(callbackfn);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js
index eceae5f01..b0f4b7436 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js
@@ -1,29 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js
- * @description Array.prototype.reduce throws TypeError when elements assigned values are deleted by reducing array length and initialValue is not present
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- }
-
- var arr = new Array(10);
- arr[9] = 1;
- arr.length = 5;
- try {
- arr.reduce(callbackfn);
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError when elements assigned
+ values are deleted by reducing array length and initialValue is
+ not present
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ }
+
+ var arr = new Array(10);
+ arr[9] = 1;
+ arr.length = 5;
+ try {
+ arr.reduce(callbackfn);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js
index a730386d2..c3fc371e3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js
@@ -1,32 +1,34 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js
- * @description Array.prototype.reduce throws TypeError when elements assigned values are deleted and initialValue is not present
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- }
-
- var arr = [1,2,3,4,5];
- delete arr[0];
- delete arr[1];
- delete arr[2];
- delete arr[3];
- delete arr[4];
- try {
- arr.reduce(callbackfn);
- }
- catch(e) {
- if(e instanceof TypeError)
- return true;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce throws TypeError when elements assigned
+ values are deleted and initialValue is not present
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ }
+
+ var arr = [1,2,3,4,5];
+ delete arr[0];
+ delete arr[1];
+ delete arr[2];
+ delete arr[3];
+ delete arr[4];
+ try {
+ arr.reduce(callbackfn);
+ }
+ catch(e) {
+ if(e instanceof TypeError)
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js
index d98d867be..5615143ce 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js
- * @description Array.prototype.reduce doesn't throw error when array has no own properties but prototype contains a single property
- */
-
-
-function testcase() {
-
- var arr = [, , , ];
-
- try {
- Array.prototype[1] = "prototype";
- arr.reduce(function () { });
- return true;
- } catch (ex) {
- return false;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce doesn't throw error when array has no own
+ properties but prototype contains a single property
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = [, , , ];
+
+ try {
+ Array.prototype[1] = "prototype";
+ arr.reduce(function () { });
+ return true;
+ } catch (ex) {
+ return false;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js
index e3076ccd0..4ac9e5043 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js
- * @description Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2
- */
-
-
-function testcase() {
-
- var obj = { };
-
- var accessed = false;
-
- Object.defineProperty(obj, "length", {
- get: function () {
- accessed = true;
- return 2;
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, function () { });
- return false;
- } catch (ex) {
- return (ex instanceof TypeError) && accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - if exception occurs, it occurs after any
+ side-effects that might be produced by step 2
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var obj = { };
+
+ var accessed = false;
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ accessed = true;
+ return 2;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, function () { });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js
index ff3767b3d..3d692c8ec 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js
- * @description Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 3
- */
-
-
-function testcase() {
-
- var obj = {};
-
- var accessed = false;
-
- Object.defineProperty(obj, "length", {
- get: function () {
- return {
- toString: function () {
- accessed = true;
- return "2";
- }
- };
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, function () { });
- return false;
- } catch (ex) {
- return (ex instanceof TypeError) && accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - if exception occurs, it occurs after any
+ side-effects that might be produced by step 3
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var obj = {};
+
+ var accessed = false;
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ toString: function () {
+ accessed = true;
+ return "2";
+ }
+ };
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, function () { });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js
index 466698eca..23841da29 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js
- * @description Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2
- */
-
-
-function testcase() {
-
- var obj = {};
-
- Object.defineProperty(obj, "length", {
- get: function () {
- throw new SyntaxError();
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, function () { });
- return false;
- } catch (ex) {
- return !(ex instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the exception is not thrown if exception
+ was thrown by step 2
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ throw new SyntaxError();
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, function () { });
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js
index 7e89c2883..d5c506079 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js
@@ -1,34 +1,36 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js
- * @description Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3
- */
-
-
-function testcase() {
-
- var obj = {};
-
- Object.defineProperty(obj, "length", {
- get: function () {
- return {
- toString: function () {
- throw new SyntaxError();
- }
- };
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, function () { });
- return false;
- } catch (ex) {
- return !(ex instanceof TypeError);
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the exception is not thrown if exception
+ was thrown by step 3
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ return {
+ toString: function () {
+ throw new SyntaxError();
+ }
+ };
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, function () { });
+ return false;
+ } catch (ex) {
+ return !(ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js
index 41c4b8c3f..57e5c5cb0 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js
- * @description Array.prototype.reduce doesn't consider new elements added to array after it is called
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- arr[5] = 6;
- arr[2] = 3;
- return prevVal + curVal;
- }
-
- var arr = [1, 2, , 4, '5'];
- return arr.reduce(callbackfn) === "105";
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce doesn't consider new elements added to
+ array after it is called
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ arr[5] = 6;
+ arr[2] = 3;
+ return prevVal + curVal;
+ }
+
+ var arr = [1, 2, , 4, '5'];
+ return arr.reduce(callbackfn) === "105";
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js
index ecad8565d..1b85bfca5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js
@@ -1,23 +1,25 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js
- * @description Array.prototype.reduce called with an initial value doesn't consider new elements added to array after it is called
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj) {
- arr[5] = 6;
- arr[2] = 3;
- return prevVal + curVal;
- }
-
- var arr = [1,2,,4,'5'];
- return arr.reduce(callbackfn, "") === "12345";
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce called with an initial value doesn't
+ consider new elements added to array after it is called
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ arr[5] = 6;
+ arr[2] = 3;
+ return prevVal + curVal;
+ }
+
+ var arr = [1,2,,4,'5'];
+ return arr.reduce(callbackfn, "") === "12345";
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js
index 4050e57e1..45e13feba 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js
- * @description Array.prototype.reduce considers new value of elements in array after it is called
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- arr[3] = -2;
- arr[4] = -1;
- return prevVal + curVal;
- }
-
- var arr = [1,2,3,4,5];
- if(arr.reduce(callbackfn) === 3)
- return true;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce considers new value of elements in array
+ after it is called
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ arr[3] = -2;
+ arr[4] = -1;
+ return prevVal + curVal;
+ }
+
+ var arr = [1,2,3,4,5];
+ if(arr.reduce(callbackfn) === 3)
+ return true;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js
index 4994dd29e..a8b175535 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js
- * @description Array.prototype.reduce doesn't visit deleted elements in array after the call
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- delete arr[3];
- delete arr[4];
- return prevVal + curVal;
- }
-
- var arr = ['1',2,3,4,5];
- if(arr.reduce(callbackfn) === "123" ) // two elements deleted
- return true;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce doesn't visit deleted elements in array
+ after the call
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ delete arr[3];
+ delete arr[4];
+ return prevVal + curVal;
+ }
+
+ var arr = ['1',2,3,4,5];
+ if(arr.reduce(callbackfn) === "123" ) // two elements deleted
+ return true;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js
index 8a7724edd..75b28e738 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js
- * @description Array.prototype.reduce doesn't visit deleted elements when Array.length is decreased
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- arr.length = 2;
- return prevVal + curVal;
- }
-
- var arr = [1,2,3,4,5];
- if(arr.reduce(callbackfn) === 3 )
- return true;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce doesn't visit deleted elements when
+ Array.length is decreased
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ arr.length = 2;
+ return prevVal + curVal;
+ }
+
+ var arr = [1,2,3,4,5];
+ if(arr.reduce(callbackfn) === 3 )
+ return true;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js
index 2c65d1513..6a9b10ca4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js
@@ -1,25 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js
- * @description Array.prototype.reduce - callbackfn not called for array with one element
- */
-
-
-function testcase() {
-
- var callCnt = 0;
- function callbackfn(prevVal, curVal, idx, obj)
- {
- callCnt++;
- return 2;
- }
-
- var arr = [1];
- if(arr.reduce(callbackfn) === 1 && callCnt === 0 )
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn not called for array with one
+ element
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var callCnt = 0;
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ callCnt++;
+ return 2;
+ }
+
+ var arr = [1];
+ if(arr.reduce(callbackfn) === 1 && callCnt === 0 )
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js
index 344e704a6..46b53834c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js
- * @description Array.prototype.reduce visits deleted element in array after the call when same index is also present in prototype
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- delete arr[3];
- delete arr[4];
- return prevVal + curVal;
- }
-
- Array.prototype[4] = 5;
- var arr = ['1',2,3,4,5];
- var res = arr.reduce(callbackfn);
- delete Array.prototype[4];
-
- if(res === "1235" ) //one element acually deleted
- return true;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce visits deleted element in array after the
+ call when same index is also present in prototype
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ delete arr[3];
+ delete arr[4];
+ return prevVal + curVal;
+ }
+
+ Array.prototype[4] = 5;
+ var arr = ['1',2,3,4,5];
+ var res = arr.reduce(callbackfn);
+ delete Array.prototype[4];
+
+ if(res === "1235" ) //one element acually deleted
+ return true;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js
index 95b163da8..fe5c2dfc9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js
- * @description Array.prototype.reduce stops calling callbackfn once the array is deleted during the call
- */
-
-
-function testcase() {
- function callbackfn(prevVal, curVal, idx, obj) {
- delete o.arr;
- return prevVal + curVal;
- }
-
- var o = new Object();
- o.arr = ['1', 2, 3, 4, 5];
- return o.arr.reduce(callbackfn) === "12345" && !o.hasOwnProperty("arr");
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce stops calling callbackfn once the array is
+ deleted during the call
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ function callbackfn(prevVal, curVal, idx, obj) {
+ delete o.arr;
+ return prevVal + curVal;
+ }
+
+ var o = new Object();
+ o.arr = ['1', 2, 3, 4, 5];
+ return o.arr.reduce(callbackfn) === "12345" && !o.hasOwnProperty("arr");
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js
index 932bf009d..2678a6c08 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js
@@ -1,33 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js
- * @description Array.prototype.reduce - no observable effects occur if 'len' is 0
- */
-
-
-function testcase() {
-
- var accessed = false;
- var callbackAccessed = false;
- function callbackfn() {
- callbackAccessed = true;
- }
-
- var obj = { length: 0 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- accessed = true;
- return 10;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, function () { }, "initialValue");
- return !accessed && !callbackAccessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - no observable effects occur if 'len' is 0
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var callbackAccessed = false;
+ function callbackfn() {
+ callbackAccessed = true;
+ }
+
+ var obj = { length: 0 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ accessed = true;
+ return 10;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, function () { }, "initialValue");
+ return !accessed && !callbackAccessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js
index 7e17803f7..a129d5f5d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js
@@ -1,32 +1,34 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js
- * @description Array.prototype.reduce - modifications to length don't change number of iterations in step 9
- */
-
-
-function testcase() {
- var called = 0;
- function callbackfn(accum, val, idx, obj) {
- called++;
- return accum + val;
- }
-
- var arr = [0, 1, 2, 3];
- Object.defineProperty(arr, "0", {
- get: function () {
- arr.length = 2;
- return 0;
- },
- configurable: true
- });
-
- var newAccum = arr.reduce(callbackfn, "initialValue");
-
- return newAccum === "initialValue01" && called === 2;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - modifications to length don't change
+ number of iterations in step 9
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var called = 0;
+ function callbackfn(accum, val, idx, obj) {
+ called++;
+ return accum + val;
+ }
+
+ var arr = [0, 1, 2, 3];
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 2;
+ return 0;
+ },
+ configurable: true
+ });
+
+ var newAccum = arr.reduce(callbackfn, "initialValue");
+
+ return newAccum === "initialValue01" && called === 2;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js
index 09cd941c3..868208bc8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js
- * @description Array.prototype.reduce returns initialvalue when Array is empty and initialValue is present
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- }
-
- var arr = new Array(10);
-
- if(arr.reduce(callbackfn,5) === 5)
- return true;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce returns initialvalue when Array is empty
+ and initialValue is present
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ }
+
+ var arr = new Array(10);
+
+ if(arr.reduce(callbackfn,5) === 5)
+ return true;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js
index c517da5a1..606a46ad9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js
@@ -1,42 +1,45 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js
- * @description Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array-like Object
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 3) {
- testResult = false;
- }
- }
-
- var obj = { 2: 2, length: 20 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- delete Object.prototype[3];
- return 0;
- },
- configurable: true
- });
-
- try {
- Object.prototype[3] = 1;
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult && accessed;
- } finally {
- delete Object.prototype[3];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting property of prototype in step 8
+ causes deleted index property not to be visited on an Array-like
+ Object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 3) {
+ testResult = false;
+ }
+ }
+
+ var obj = { 2: 2, length: 20 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ delete Object.prototype[3];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[3] = 1;
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult && accessed;
+ } finally {
+ delete Object.prototype[3];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js
index 2affed382..bb46b4e65 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js
@@ -1,41 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js
- * @description Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 1) {
- testResult = false;
- }
- }
-
- var arr = [, , , 3];
- Object.defineProperty(arr, "0", {
- get: function () {
- delete Array.prototype[1];
- return 0;
- },
- configurable: true
- });
-
- try {
- Array.prototype[1] = 1;
- arr.reduce(callbackfn);
- return testResult && accessed;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting property of prototype in step 8
+ causes deleted index property not to be visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 1) {
+ testResult = false;
+ }
+ }
+
+ var arr = [, , , 3];
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete Array.prototype[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ arr.reduce(callbackfn);
+ return testResult && accessed;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js
index 3c46e35e5..c9c6f831a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js
@@ -1,40 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js
- * @description Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 1) {
- testResult = true;
- }
- }
-
- var obj = { 0: 0, 1: 111, 4: 10, length: 10 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- delete obj[1];
- return 0;
- },
- configurable: true
- });
-
- try {
- Object.prototype[1] = 1;
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
- } finally {
- delete Object.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property with prototype
+ property in step 8 causes prototype index property to be visited
+ on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ testResult = true;
+ }
+ }
+
+ var obj = { 0: 0, 1: 111, 4: 10, length: 10 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ delete obj[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[1] = 1;
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js
index f407c947c..83019c52c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js
@@ -1,39 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js
- * @description Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 1) {
- testResult = true;
- }
- }
- var arr = [0, 111];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- delete arr[1];
- return 0;
- },
- configurable: true
- });
-
- try {
- Array.prototype[1] = 1;
- arr.reduce(callbackfn);
- return testResult;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property with prototype
+ property in step 8 causes prototype index property to be visited
+ on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ testResult = true;
+ }
+ }
+ var arr = [0, 111];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ arr.reduce(callbackfn);
+ return testResult;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js
index 0060cb74e..9ea74d358 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js
@@ -1,38 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js
- * @description Array.prototype.reduce - decreasing length of array in step 8 causes deleted index property not to be visited
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 2) {
- testResult = false;
- }
- }
-
- var arr = [0, 1, 2, 3];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- arr.length = 2;
- return 0;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
-
- return testResult && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - decreasing length of array in step 8
+ causes deleted index property not to be visited
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 2) {
+ testResult = false;
+ }
+ }
+
+ var arr = [0, 1, 2, 3];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 2;
+ return 0;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+
+ return testResult && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js
index f7f93d93a..26d4c9c4d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js
@@ -1,46 +1,48 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js
- * @description Array.prototype.reduce - decreasing length of array with prototype property in step 8 causes prototype index property to be visited
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 2 && val === "prototype") {
- testResult = true;
- }
- }
- var arr = [0, 1, 2, 3];
-
- try {
- Object.defineProperty(Array.prototype, "2", {
- get: function () {
- return "prototype";
- },
- configurable: true
- });
-
- Object.defineProperty(arr, "0", {
- get: function () {
- arr.length = 2;
- return 1;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
-
- return testResult;
- } finally {
- delete Array.prototype[2];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - decreasing length of array with prototype
+ property in step 8 causes prototype index property to be visited
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 2 && val === "prototype") {
+ testResult = true;
+ }
+ }
+ var arr = [0, 1, 2, 3];
+
+ try {
+ Object.defineProperty(Array.prototype, "2", {
+ get: function () {
+ return "prototype";
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+
+ return testResult;
+ } finally {
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js
index 0a77671ba..5d84c69a2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js
@@ -1,43 +1,45 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js
- * @description Array.prototype.reduce - decreasing length of array in step 8 does not delete non-configurable properties
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 2 && val === "unconfigurable") {
- testResult = true;
- }
- }
-
- var arr = [0, 1, 2, 3];
-
- Object.defineProperty(arr, "2", {
- get: function () {
- return "unconfigurable";
- },
- configurable: false
- });
-
- Object.defineProperty(arr, "0", {
- get: function () {
- arr.length = 2;
- return 1;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
-
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - decreasing length of array in step 8 does
+ not delete non-configurable properties
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 2 && val === "unconfigurable") {
+ testResult = true;
+ }
+ }
+
+ var arr = [0, 1, 2, 3];
+
+ Object.defineProperty(arr, "2", {
+ get: function () {
+ return "unconfigurable";
+ },
+ configurable: false
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js
index 487d62430..3ba9a7015 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js
- * @description Array.prototype.reduce - properties added into own object are visited on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 3 && val === 3) {
- testResult = true;
- }
- }
-
- var obj = { length: 5 };
-
- Object.defineProperty(obj, "1", {
- get: function () {
- Object.defineProperty(obj, "3", {
- get: function () {
- return 3;
- },
- configurable: true
- });
- return 1;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, "initialValue");
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties added into own object are
+ visited on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 3 && val === 3) {
+ testResult = true;
+ }
+ }
+
+ var obj = { length: 5 };
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ Object.defineProperty(obj, "3", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+ });
+ return 1;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js
index 6e1728748..2570275d2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js
- * @description Array.prototype.reduce - properties added into own object are visited on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 1) {
- testResult = true;
- }
- }
-
- var arr = [0, , 2];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- Object.defineProperty(arr, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
- return 0;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, "initialValue");
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties added into own object are
+ visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ testResult = true;
+ }
+ }
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, "initialValue");
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js
index ad853f0ec..8d76bf37e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js
@@ -1,44 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js
- * @description Array.prototype.reduce - properties added to prototype are visited on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 6.99) {
- testResult = true;
- }
- }
-
- var obj = { length: 6 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- Object.defineProperty(Object.prototype, "1", {
- get: function () {
- return 6.99;
- },
- configurable: true
- });
- return 0;
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, callbackfn, "initialValue");
- return testResult;
- } finally {
- delete Object.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties added to prototype are visited
+ on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 6.99) {
+ testResult = true;
+ }
+ }
+
+ var obj = { length: 6 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ Object.defineProperty(Object.prototype, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+ return testResult;
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js
index 4349f523c..d9ece1e62 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js
@@ -1,36 +1,38 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js
- * @description Array.prototype.reduce - added properties in step 2 are visible here
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 2 && val === "2") {
- testResult = true;
- }
- }
-
- var obj = {};
-
- Object.defineProperty(obj, "length", {
- get: function () {
- obj[2] = "2";
- return 3;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, "initialValue");
-
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - added properties in step 2 are visible
+ here
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 2 && val === "2") {
+ testResult = true;
+ }
+ }
+
+ var obj = {};
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ obj[2] = "2";
+ return 3;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js
index 248414906..bf0c129dc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js
@@ -1,44 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js
- * @description Array.prototype.reduce - properties can be added to prototype are visited on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 6.99) {
- testResult = true;
- }
- }
-
- 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 {
- arr.reduce(callbackfn, "initialValue");
- return testResult;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties can be added to prototype are
+ visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 6.99) {
+ testResult = true;
+ }
+ }
+
+ 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 {
+ arr.reduce(callbackfn, "initialValue");
+ return testResult;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js
index c67a8a2c2..2617f24ec 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js
@@ -1,44 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js
- * @description Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array-like object
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 1) {
- testResult = false;
- }
- }
-
- var obj = { 5: 10, length: 10 };
-
- Object.defineProperty(obj, "1", {
- get: function () {
- return 6.99;
- },
- configurable: true
- });
-
- Object.defineProperty(obj, "0", {
- get: function () {
- delete obj[1];
- return 0;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, "initialValue");
- return testResult && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property causes deleted
+ index property not to be visited on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 1) {
+ testResult = false;
+ }
+ }
+
+ var obj = { 5: 10, length: 10 };
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ delete obj[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+ return testResult && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js
index 76e3ecea3..846ded144 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js
@@ -1,44 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js
- * @description Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 1) {
- testResult = false;
- }
- }
-
- var arr = [1, 2, 4];
-
- Object.defineProperty(arr, "1", {
- get: function () {
- return "6.99";
- },
- configurable: true
- });
-
- Object.defineProperty(arr, "0", {
- get: function () {
- delete arr[1];
- return 0;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, "initialValue");
- return testResult && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property causes deleted
+ index property not to be visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 1) {
+ testResult = false;
+ }
+ }
+
+ var arr = [1, 2, 4];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return "6.99";
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, "initialValue");
+ return testResult && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js
index e38cb2728..bd52b1eac 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js
@@ -1,42 +1,44 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js
- * @description Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array-like Object
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 3) {
- testResult = false;
- }
- }
-
- var obj = { 2: 2, length: 20 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- delete Object.prototype[3];
- return 0;
- },
- configurable: true
- });
-
- try {
- Object.prototype[3] = 1;
- Array.prototype.reduce.call(obj, callbackfn, "initialValue");
- return testResult && accessed;
- } finally {
- delete Object.prototype[3];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting property of prototype causes
+ deleted index property not to be visited on an Array-like Object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 3) {
+ testResult = false;
+ }
+ }
+
+ var obj = { 2: 2, length: 20 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ delete Object.prototype[3];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[3] = 1;
+ Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+ return testResult && accessed;
+ } finally {
+ delete Object.prototype[3];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js
index f87581420..c2d878c57 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js
@@ -1,41 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js
- * @description Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 1) {
- testResult = false;
- }
- }
-
- var arr = [0, , , 3];
- Object.defineProperty(arr, "0", {
- get: function () {
- delete Array.prototype[1];
- return 0;
- },
- configurable: true
- });
-
- try {
- Array.prototype[1] = 1;
- arr.reduce(callbackfn, "initialValue");
- return testResult && accessed;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting property of prototype causes
+ deleted index property not to be visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 1) {
+ testResult = false;
+ }
+ }
+
+ var arr = [0, , , 3];
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete Array.prototype[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ arr.reduce(callbackfn, "initialValue");
+ return testResult && accessed;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js
index 5d7dcf853..d849c8015 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js
@@ -1,40 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js
- * @description Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 1) {
- testResult = true;
- }
- }
-
- var obj = { 0: 0, 1: 111, 4: 10, length: 10 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- delete obj[1];
- return 0;
- },
- configurable: true
- });
-
- try {
- Object.prototype[1] = 1;
- Array.prototype.reduce.call(obj, callbackfn, "initialValue");
- return testResult;
- } finally {
- delete Object.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property with prototype
+ property causes prototype index property to be visited on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ testResult = true;
+ }
+ }
+
+ var obj = { 0: 0, 1: 111, 4: 10, length: 10 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ delete obj[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Object.prototype[1] = 1;
+ Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+ return testResult;
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js
index a0a3bbe79..28c7b3dc4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js
@@ -1,39 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js
- * @description Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 1) {
- testResult = true;
- }
- }
- var arr = [0, 111];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- delete arr[1];
- return 0;
- },
- configurable: true
- });
-
- try {
- Array.prototype[1] = 1;
- arr.reduce(callbackfn, "initialValue");
- return testResult;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property with prototype
+ property causes prototype index property to be visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ testResult = true;
+ }
+ }
+ var arr = [0, 111];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype[1] = 1;
+ arr.reduce(callbackfn, "initialValue");
+ return testResult;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js
index e3d63daf9..b70d398bc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js
@@ -1,38 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js
- * @description Array.prototype.reduce - decreasing length of array causes deleted index property not to be visited
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 2) {
- testResult = false;
- }
- }
-
- var arr = [0, 1, 2, 3];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- arr.length = 2;
- return 0;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, "initialValue");
-
- return testResult && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - decreasing length of array causes deleted
+ index property not to be visited
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 2) {
+ testResult = false;
+ }
+ }
+
+ var arr = [0, 1, 2, 3];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 2;
+ return 0;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, "initialValue");
+
+ return testResult && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js
index e629bdd9e..e597a286a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js
@@ -1,46 +1,48 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js
- * @description Array.prototype.reduce - decreasing length of array with prototype property causes prototype index property to be visited
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 2 && val === "prototype") {
- testResult = true;
- }
- }
- var arr = [0, 1, 2, 3];
-
- try {
- Object.defineProperty(Array.prototype, "2", {
- get: function () {
- return "prototype";
- },
- configurable: true
- });
-
- Object.defineProperty(arr, "0", {
- get: function () {
- arr.length = 2;
- return 1;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, "initialValue");
-
- return testResult;
- } finally {
- delete Array.prototype[2];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - decreasing length of array with prototype
+ property causes prototype index property to be visited
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 2 && val === "prototype") {
+ testResult = true;
+ }
+ }
+ var arr = [0, 1, 2, 3];
+
+ try {
+ Object.defineProperty(Array.prototype, "2", {
+ get: function () {
+ return "prototype";
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, "initialValue");
+
+ return testResult;
+ } finally {
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js
index 4d9e6d5b8..241283c19 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js
@@ -1,43 +1,45 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js
- * @description Array.prototype.reduce - decreasing length of array does not delete non-configurable properties
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 2 && val === "unconfigurable") {
- testResult = true;
- }
- }
-
- var arr = [0, 1, 2, 3];
-
- Object.defineProperty(arr, "2", {
- get: function () {
- return "unconfigurable";
- },
- configurable: false
- });
-
- Object.defineProperty(arr, "0", {
- get: function () {
- arr.length = 2;
- return 1;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, "initialValue");
-
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - decreasing length of array does not
+ delete non-configurable properties
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 2 && val === "unconfigurable") {
+ testResult = true;
+ }
+ }
+
+ var arr = [0, 1, 2, 3];
+
+ Object.defineProperty(arr, "2", {
+ get: function () {
+ return "unconfigurable";
+ },
+ configurable: false
+ });
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ arr.length = 2;
+ return 1;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, "initialValue");
+
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js
index 23650e76b..3b8fbb521 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js
@@ -1,38 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js
- * @description Array.prototype.reduce - deleted properties in step 2 are visible here
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 2) {
- testResult = false;
- }
- }
-
- var obj = { 2: "2", 3: 10 };
-
- Object.defineProperty(obj, "length", {
- get: function () {
- delete obj[2];
- return 5;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, "initialValue");
-
- return accessed && testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleted properties in step 2 are visible
+ here
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 2) {
+ testResult = false;
+ }
+ }
+
+ var obj = { 2: "2", 3: 10 };
+
+ Object.defineProperty(obj, "length", {
+ get: function () {
+ delete obj[2];
+ return 5;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, "initialValue");
+
+ return accessed && testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js
index fbc9313e5..6072afcf3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js
- * @description Array.prototype.reduce - properties added into own object in step 8 are visited on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 3 && val === 3) {
- testResult = true;
- }
- }
-
- var obj = { length: 5 };
-
- Object.defineProperty(obj, "1", {
- get: function () {
- Object.defineProperty(obj, "3", {
- get: function () {
- return 3;
- },
- configurable: true
- });
- return 1;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties added into own object in step
+ 8 are visited on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 3 && val === 3) {
+ testResult = true;
+ }
+ }
+
+ var obj = { length: 5 };
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ Object.defineProperty(obj, "3", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+ });
+ return 1;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js
index 5a62b994c..0a665336f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js
- * @description Array.prototype.reduce - properties added into own object in step 8 are visited on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 1) {
- testResult = true;
- }
- }
-
- var arr = [0, , 2];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- Object.defineProperty(arr, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
- return 0;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties added into own object in step
+ 8 are visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 1) {
+ testResult = true;
+ }
+ }
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js
index 23d239945..cbd2f475d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js
@@ -1,44 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js
- * @description Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 6.99) {
- testResult = true;
- }
- }
-
- var obj = { length: 6 };
-
- Object.defineProperty(obj, "0", {
- get: function () {
- Object.defineProperty(Object.prototype, "1", {
- get: function () {
- return 6.99;
- },
- configurable: true
- });
- return 0;
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult;
- } finally {
- delete Object.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties added to prototype in step 8
+ are visited on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 6.99) {
+ testResult = true;
+ }
+ }
+
+ var obj = { length: 6 };
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ Object.defineProperty(Object.prototype, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+ return 0;
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult;
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js
index 160a1df45..d35642530 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js
@@ -1,44 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js
- * @description Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
-
- function callbackfn(accum, val, idx, obj) {
- if (idx === 1 && val === 6.99) {
- testResult = true;
- }
- }
-
- 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 {
- arr.reduce(callbackfn);
- return testResult;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - properties added to prototype in step 8
+ are visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+
+ function callbackfn(accum, val, idx, obj) {
+ if (idx === 1 && val === 6.99) {
+ testResult = true;
+ }
+ }
+
+ 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 {
+ arr.reduce(callbackfn);
+ return testResult;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js
index 8dbe1476c..b252ce847 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js
@@ -1,44 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js
- * @description Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array-like object
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 1) {
- testResult = false;
- }
- }
-
- var obj = { 5: 10, length: 10 };
-
- Object.defineProperty(obj, "1", {
- get: function () {
- return 6.99;
- },
- configurable: true
- });
-
- Object.defineProperty(obj, "0", {
- get: function () {
- delete obj[1];
- return 0;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn);
- return testResult && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property in step 8 causes
+ deleted index property not to be visited on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 1) {
+ testResult = false;
+ }
+ }
+
+ var obj = { 5: 10, length: 10 };
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ return 6.99;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ delete obj[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn);
+ return testResult && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js
index 0da6959f6..4b7a73cfd 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js
- * @description Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = true;
-
- function callbackfn(accum, val, idx, obj) {
- accessed = true;
- if (idx === 1) {
- testResult = false;
- }
- }
-
- var arr = [1, 2, 4];
-
- Object.defineProperty(arr, "0", {
- get: function () {
- delete arr[1];
- return 0;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn);
- return testResult && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - deleting own property in step 8 causes
+ deleted index property not to be visited on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = true;
+
+ function callbackfn(accum, val, idx, obj) {
+ accessed = true;
+ if (idx === 1) {
+ testResult = false;
+ }
+ }
+
+ var arr = [1, 2, 4];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ delete arr[1];
+ return 0;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn);
+ return testResult && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js
index fa0505cc8..bd6cecd09 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js
- * @description Array.prototype.reduce - callbackfn not called for indexes never been assigned values
- */
-
-
-function testcase() {
-
- var callCnt = 0;
- function callbackfn(prevVal, curVal, idx, obj)
- {
- callCnt++;
- return curVal;
- }
-
- var arr = new Array(10);
- arr[0] = arr[1] = undefined; //explicitly assigning a value
- if( arr.reduce(callbackfn) === undefined && callCnt === 1)
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn not called for indexes never
+ been assigned values
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var callCnt = 0;
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ callCnt++;
+ return curVal;
+ }
+
+ var arr = new Array(10);
+ arr[0] = arr[1] = undefined; //explicitly assigning a value
+ if( arr.reduce(callbackfn) === undefined && callCnt === 1)
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js
index 0b5eb7ebd..539c6feb6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js
- * @description Array.prototype.reduce - element to be retrieved is own data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var obj = { 0: 0, 1: 1, 2: 2, length: 2 };
- Array.prototype.reduce.call(obj, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var obj = { 0: 0, 1: 1, 2: 2, length: 2 };
+ Array.prototype.reduce.call(obj, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js
index 0dc430757..c13d1d89e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js
@@ -1,34 +1,36 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var arr = [0, , 2];
-
- Object.defineProperty(arr, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js
index fe889f090..8aee7da81 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js
@@ -1,40 +1,43 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === "11");
- }
- }
-
- var proto = { 0: 0, 1: 1, 2: 2 };
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Object.defineProperty(child, "1", {
- get: function () {
- return "11";
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(child, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited data property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === "11");
+ }
+ }
+
+ var proto = { 0: 0, 1: 1, 2: 2 };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Object.defineProperty(child, "1", {
+ get: function () {
+ return "11";
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(child, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js
index aabe9c8c5..bba36dc55 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === "11");
- }
- }
-
- try {
- Array.prototype[1] = 1;
- var arr = [0, ,2];
-
- Object.defineProperty(arr, "1", {
- get: function () {
- return "11";
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, initialValue);
- return testResult;
-
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited data property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === "11");
+ }
+ }
+
+ try {
+ Array.prototype[1] = 1;
+ var arr = [0, ,2];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return "11";
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js
index 2dcf3c1ec..2655390a9 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js
@@ -1,47 +1,50 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === "11");
- }
- }
-
- var proto = { 0: 0, 2: 2};
-
- Object.defineProperty(proto, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Object.defineProperty(child, "1", {
- get: function () {
- return "11";
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(child, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited accessor property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === "11");
+ }
+ }
+
+ var proto = { 0: 0, 2: 2};
+
+ Object.defineProperty(proto, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Object.defineProperty(child, "1", {
+ get: function () {
+ return "11";
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(child, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js
index e385d6b0a..8a7cfa9ed 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js
@@ -1,45 +1,47 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === "11");
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
-
- var arr = [0, ,2];
-
- Object.defineProperty(arr, "1", {
- get: function () {
- return "11";
- },
- configurable: true
- });
- arr.reduce(callbackfn, initialValue);
- return testResult;
-
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property that overrides an inherited accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === "11");
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ var arr = [0, ,2];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return "11";
+ },
+ configurable: true
+ });
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js
index c22190f9b..7035cd44f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var proto = { 0: 0, 2: 2 };
-
- Object.defineProperty(proto, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var proto = { 0: 0, 2: 2 };
+
+ Object.defineProperty(proto, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js
index 493aef570..db12377b2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js
@@ -1,39 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
-
- var arr = [0, , 2, ];
-
- arr.reduce(callbackfn, initialValue);
- return testResult;
-
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ var arr = [0, , 2, ];
+
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js
index b7915936c..2272344c2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js
@@ -1,32 +1,34 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === undefined);
- }
- }
-
- var obj = { 0: 0, 2: 2, length: 3 };
-
- Object.defineProperty(obj, "1", {
- set: function () { },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === undefined);
+ }
+ }
+
+ var obj = { 0: 0, 2: 2, length: 3 };
+
+ Object.defineProperty(obj, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js
index a70483e63..30d1632ad 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === undefined);
- }
- }
-
- var arr = [0, , 2];
-
- Object.defineProperty(arr, "1", {
- set: function () { },
- configurable: true
- });
-
- arr.reduce(callbackfn, initialValue);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === undefined);
+ }
+ }
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js
index 951e9e0d1..6d5381dd1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js
@@ -1,43 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === undefined);
- }
- }
-
- try {
- Object.defineProperty(Object.prototype, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
-
- var obj = { 0: 0, 2: 2, length: 3 };
-
- Object.defineProperty(obj, "1", {
- set: function () { },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, initialValue);
- return testResult;
- } finally {
- delete Object.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function that overrides an inherited
+ accessor property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === undefined);
+ }
+ }
+
+ try {
+ Object.defineProperty(Object.prototype, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ var obj = { 0: 0, 2: 2, length: 3 };
+
+ Object.defineProperty(obj, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, initialValue);
+ return testResult;
+ } finally {
+ delete Object.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js
index 6b57c3837..4a7ab35f2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js
- * @description Array.prototype.reduce - element to be retrieved is own data property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var arr = [0, 1];
- arr.reduce(callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var arr = [0, 1];
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js
index 7aacab5eb..4fec0e60d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js
@@ -1,43 +1,46 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === undefined);
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "1", {
- get: function () {
- return 11;
- },
- configurable: true
- });
-
- var arr = [0, , 2];
- Object.defineProperty(arr, "1", {
- set: function () { },
- configurable: true
- });
-
- arr.reduce(callbackfn, initialValue);
- return testResult;
-
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property without a get function that overrides an inherited
+ accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === undefined);
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+
+ var arr = [0, , 2];
+ Object.defineProperty(arr, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js
index a84eb0709..0e667c866 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js
@@ -1,38 +1,40 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === undefined);
- }
- }
-
- var proto = { 0: 0, 2: 2 };
-
- Object.defineProperty(proto, "1", {
- set: function () { },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property without a get function on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === undefined);
+ }
+ }
+
+ var proto = { 0: 0, 2: 2 };
+
+ Object.defineProperty(proto, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js
index 64748a65b..709f8747e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js
- * @description Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === undefined);
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "1", {
- set: function () { },
- configurable: true
- });
-
- var arr = [0, , 2];
-
- arr.reduce(callbackfn, initialValue);
- return testResult;
-
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited
+ accessor property without a get function on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === undefined);
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ set: function () { },
+ configurable: true
+ });
+
+ var arr = [0, , 2];
+
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js
index bc8fec5e8..85cc11688 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js
@@ -1,37 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js
- * @description Array.prototype.reduce - This object is the global object which contains index property
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- try {
- var oldLen = fnGlobalObject().length;
- fnGlobalObject()[0] = 0;
- fnGlobalObject()[1] = 1;
- fnGlobalObject().length = 2;
-
- Array.prototype.reduce.call(fnGlobalObject(), callbackfn, initialValue);
- return testResult;
-
- } finally {
- delete fnGlobalObject()[0];
- delete fnGlobalObject()[1];
- fnGlobalObject().length = oldLen;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the global object which
+ contains index property
+includes:
+ - runTestCase.js
+ - fnGlobalObject.js
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ try {
+ var oldLen = fnGlobalObject().length;
+ fnGlobalObject()[0] = 0;
+ fnGlobalObject()[1] = 1;
+ fnGlobalObject().length = 2;
+
+ Array.prototype.reduce.call(fnGlobalObject(), callbackfn, initialValue);
+ return testResult;
+
+ } finally {
+ delete fnGlobalObject()[0];
+ delete fnGlobalObject()[1];
+ fnGlobalObject().length = oldLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js
index fd1fa64a2..e58472044 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js
@@ -1,29 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js
- * @description Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var func = function (a, b, c) {
- Array.prototype.reduce.call(arguments, callbackfn, initialValue);
- };
-
- func(0, 1);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the Arguments object which
+ implements its own property get method (number of arguments is
+ less than number of parameters)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var func = function (a, b, c) {
+ Array.prototype.reduce.call(arguments, callbackfn, initialValue);
+ };
+
+ func(0, 1);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js
index d59299e90..51136724e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js
@@ -1,29 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js
- * @description Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 2) {
- testResult = (curVal === 2);
- }
- }
-
- var func = function (a, b, c) {
- Array.prototype.reduce.call(arguments, callbackfn, initialValue);
- };
-
- func(0, 1, 2);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the Arguments object which
+ implements its own property get method (number of arguments equals
+ number of parameters)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 2) {
+ testResult = (curVal === 2);
+ }
+ }
+
+ var func = function (a, b, c) {
+ Array.prototype.reduce.call(arguments, callbackfn, initialValue);
+ };
+
+ func(0, 1, 2);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js
index 56a709e3c..ca3762670 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js
@@ -1,29 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js
- * @description Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 3) {
- testResult = (curVal === 3);
- }
- }
-
- var func = function (a, b, c) {
- Array.prototype.reduce.call(arguments, callbackfn, initialValue);
- };
-
- func(0, 1, 2, 3);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - This object is the Arguments object which
+ implements its own property get method (number of arguments is
+ greater than number of parameters)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 3) {
+ testResult = (curVal === 3);
+ }
+ }
+
+ var func = function (a, b, c) {
+ Array.prototype.reduce.call(arguments, callbackfn, initialValue);
+ };
+
+ func(0, 1, 2, 3);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js
index 9aa33fd8b..3c99b58d6 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js
@@ -1,28 +1,30 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js
- * @description Array.prototype.reduce - applied to String object, which implements its own property get method
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === "1");
- }
- }
-
- var str = new String("012");
-
- Array.prototype.reduce.call(str, callbackfn, initialValue);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - applied to String object, which
+ implements its own property get method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === "1");
+ }
+ }
+
+ var str = new String("012");
+
+ Array.prototype.reduce.call(str, callbackfn, initialValue);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js
index 04c54757c..6991be78f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js
@@ -1,33 +1,35 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js
- * @description Array.prototype.reduce - applied to Function object which implements its own property get method
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var obj = function (a, b, c) {
- return a + b + c;
- };
- obj[0] = 0;
- obj[1] = 1;
- obj[2] = 2;
- obj[3] = 3;
-
- Array.prototype.reduce.call(obj, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - applied to Function object which
+ implements its own property get method
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var obj = function (a, b, c) {
+ return a + b + c;
+ };
+ obj[0] = 0;
+ obj[1] = 1;
+ obj[2] = 2;
+ obj[3] = 3;
+
+ Array.prototype.reduce.call(obj, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js
index 9b5be0a29..1a8be33a3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js
@@ -1,35 +1,38 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === "11");
- }
- }
-
- var proto = { 0: 0, 1: 1, 2: 2, length: 2 };
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child[1] = "11";
- child[2] = "22";
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn, initialValue);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited data property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === "11");
+ }
+ }
+
+ var proto = { 0: 0, 1: 1, 2: 2, length: 2 };
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child[1] = "11";
+ child[2] = "22";
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn, initialValue);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js
index 14ad56223..90a857d18 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js
@@ -1,47 +1,49 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js
- * @description Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var arr = [, , 2];
- var preIterVisible = false;
-
- Object.defineProperty(arr, "0", {
- get: function () {
- preIterVisible = true;
- return 0;
- },
- configurable: true
- });
-
- Object.defineProperty(arr, "1", {
- get: function () {
- if (preIterVisible) {
- return 1;
- } else {
- return 100;
- }
- },
- configurable: true
- });
-
- arr.reduce(callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element changed by getter on previous
+ iterations is observed on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var arr = [, , 2];
+ var preIterVisible = false;
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ preIterVisible = true;
+ return 0;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ if (preIterVisible) {
+ return 1;
+ } else {
+ return 100;
+ }
+ },
+ configurable: true
+ });
+
+ arr.reduce(callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js
index b0a3ec660..49a57a3b7 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js
@@ -1,48 +1,50 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js
- * @description Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var obj = { 2: 2, length: 3 };
- var preIterVisible = false;
-
- Object.defineProperty(obj, "0", {
- get: function () {
- preIterVisible = true;
- return 0;
- },
- configurable: true
- });
-
- Object.defineProperty(obj, "1", {
- get: function () {
- if (preIterVisible) {
- return 1;
- } else {
- return "11";
- }
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, initialValue);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element changed by getter on previous
+ iterations is observed on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var obj = { 2: 2, length: 3 };
+ var preIterVisible = false;
+
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ preIterVisible = true;
+ return 0;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ if (preIterVisible) {
+ return 1;
+ } else {
+ return "11";
+ }
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, initialValue);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js
index 92bd0c55b..4dab9f692 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js
@@ -1,39 +1,41 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js
- * @description Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array-like object
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx >= 1) {
- accessed = true;
- testResult = (curVal >= 1);
- }
- }
-
- var obj = { 0: 0, 2: 2, length: 3 };
- Object.defineProperty(obj, "1", {
- get: function () {
- throw new RangeError("unhandle exception happened in getter");
- },
- configurable: true
- });
-
- try {
- Array.prototype.reduce.call(obj, callbackfn, initialValue);
- return false;
- } catch (ex) {
- return (ex instanceof RangeError) && !accessed && !testResult;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - unnhandled exceptions happened in getter
+ terminate iteration on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx >= 1) {
+ accessed = true;
+ testResult = (curVal >= 1);
+ }
+ }
+
+ var obj = { 0: 0, 2: 2, length: 3 };
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ throw new RangeError("unhandle exception happened in getter");
+ },
+ configurable: true
+ });
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn, initialValue);
+ return false;
+ } catch (ex) {
+ return (ex instanceof RangeError) && !accessed && !testResult;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js
index 6d0479b4e..d5161ad61 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js
@@ -1,40 +1,42 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js
- * @description Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array
- */
-
-
-function testcase() {
-
- var accessed = false;
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx >= 1) {
- accessed = true;
- testResult = (curVal >= 1);
- }
- }
-
- var arr = [0, , 2];
-
- Object.defineProperty(arr, "1", {
- get: function () {
- throw new RangeError("unhandle exception happened in getter");
- },
- configurable: true
- });
-
- try {
- arr.reduce(callbackfn, initialValue);
- return false;
- } catch (ex) {
- return (ex instanceof RangeError) && !accessed && !testResult;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - unnhandled exceptions happened in getter
+ terminate iteration on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx >= 1) {
+ accessed = true;
+ testResult = (curVal >= 1);
+ }
+ }
+
+ var arr = [0, , 2];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ throw new RangeError("unhandle exception happened in getter");
+ },
+ configurable: true
+ });
+
+ try {
+ arr.reduce(callbackfn, initialValue);
+ return false;
+ } catch (ex) {
+ return (ex instanceof RangeError) && !accessed && !testResult;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js
index 7d5b8e0c2..8597a1015 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- try {
- Array.prototype[1] = "3";
- [0, 1, 2].reduce(callbackfn, initialValue);
- return testResult;
- } finally {
- delete Array.prototype[1];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited data property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ try {
+ Array.prototype[1] = "3";
+ [0, 1, 2].reduce(callbackfn, initialValue);
+ return testResult;
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js
index 4fd59cc26..20622fd0f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js
@@ -1,47 +1,50 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 0) {
- testResult = (curVal === "9");
- }
- }
-
- var proto = {};
-
- Object.defineProperty(proto, "0", {
- get: function () {
- return 0;
- },
- configurable: true
- });
-
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 2;
-
- Object.defineProperty(child, "0", {
- value: "9",
- configurable: true
- });
-
- child[1] = "1";
-
- Array.prototype.reduce.call(child, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited accessor property on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 0) {
+ testResult = (curVal === "9");
+ }
+ }
+
+ var proto = {};
+
+ Object.defineProperty(proto, "0", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 2;
+
+ Object.defineProperty(child, "0", {
+ value: "9",
+ configurable: true
+ });
+
+ child[1] = "1";
+
+ Array.prototype.reduce.call(child, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js
index c115ef744..b46a79b5a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js
- * @description Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- try {
- Object.defineProperty(Array.prototype, "1", {
- get: function () {
- return "9";
- },
- configurable: true
- });
- [0, 1, 2].reduce(callbackfn, initialValue);
- return testResult;
-
- } finally {
- delete Array.prototype[1];
- }
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own data
+ property that overrides an inherited accessor property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return "9";
+ },
+ configurable: true
+ });
+ [0, 1, 2].reduce(callbackfn, initialValue);
+ return testResult;
+
+ } finally {
+ delete Array.prototype[1];
+ }
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js
index f98140864..d61ff6547 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js
@@ -1,32 +1,34 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js
- * @description Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var proto = { 0: 0, 1: 1, 2: 2, length: 3 };
- var Con = function () { };
- Con.prototype = proto;
-
- var child = new Con();
- child.length = 3;
-
- Array.prototype.reduce.call(child, callbackfn, initialValue);
- return testResult;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited data
+ property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var proto = { 0: 0, 1: 1, 2: 2, length: 3 };
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.length = 3;
+
+ Array.prototype.reduce.call(child, callbackfn, initialValue);
+ return testResult;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js
index dc90b79a9..c5aa90a2f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js
@@ -1,35 +1,37 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js
- * @description Array.prototype.reduce - element to be retrieved is inherited data property on an Array
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- try {
- Array.prototype[0] = 0;
- Array.prototype[1] = 1;
- Array.prototype[2] = 2;
- [, , , ].reduce(callbackfn, initialValue);
-
- return testResult;
- } finally {
- delete Array.prototype[0];
- delete Array.prototype[1];
- delete Array.prototype[2];
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is inherited data
+ property on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ try {
+ Array.prototype[0] = 0;
+ Array.prototype[1] = 1;
+ Array.prototype[2] = 2;
+ [, , , ].reduce(callbackfn, initialValue);
+
+ return testResult;
+ } finally {
+ delete Array.prototype[0];
+ delete Array.prototype[1];
+ delete Array.prototype[2];
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js
index a51d66611..3789faf7a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js
@@ -1,34 +1,36 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js
- * @description Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object
- */
-
-
-function testcase() {
-
- var testResult = false;
- var initialValue = 0;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 1) {
- testResult = (curVal === 1);
- }
- }
-
- var obj = { 0: 0, 2: 2, length: 3 };
- Object.defineProperty(obj, "1", {
- get: function () {
- return 1;
- },
- configurable: true
- });
-
- Array.prototype.reduce.call(obj, callbackfn, initialValue);
- return testResult;
-
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element to be retrieved is own accessor
+ property on an Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var testResult = false;
+ var initialValue = 0;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 1) {
+ testResult = (curVal === 1);
+ }
+ }
+
+ var obj = { 0: 0, 2: 2, length: 3 };
+ Object.defineProperty(obj, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true
+ });
+
+ Array.prototype.reduce.call(obj, callbackfn, initialValue);
+ return testResult;
+
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js
index e6c2d29d1..ed10085db 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js
@@ -1,26 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js
- * @description Array.prototype.reduce - callbackfn called with correct parameters (initialvalue not passed)
- */
-
-
-function testcase() {
-
- function callbackfn(prevVal, curVal, idx, obj)
- {
- if(idx > 0 && obj[idx] === curVal && obj[idx-1] === prevVal)
- return curVal;
- else
- return false;
- }
-
- var arr = [0,1,true,null,new Object(),"five"];
- if( arr.reduce(callbackfn) === "five")
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn called with correct parameters
+ (initialvalue not passed)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ if(idx > 0 && obj[idx] === curVal && obj[idx-1] === prevVal)
+ return curVal;
+ else
+ return false;
+ }
+
+ var arr = [0,1,true,null,new Object(),"five"];
+ if( arr.reduce(callbackfn) === "five")
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js
index a8258c91e..efbf58a89 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js
- * @description Array.prototype.reduce - callbackfn is called with 1 formal parameter
- */
-
-
-function testcase() {
-
- var result = false;
- function callbackfn(prevVal) {
- result = (prevVal === 1);
- }
-
- [11].reduce(callbackfn, 1);
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn is called with 1 formal
+ parameter
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = false;
+ function callbackfn(prevVal) {
+ result = (prevVal === 1);
+ }
+
+ [11].reduce(callbackfn, 1);
+ return result;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js
index 8990a0de4..abe059996 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js
- * @description Array.prototype.reduce - callbackfn is called with 2 formal parameter
- */
-
-
-function testcase() {
-
- var result = false;
- function callbackfn(prevVal, curVal) {
- result = (curVal > 10 && 1 === prevVal);
- }
-
- [11].reduce(callbackfn, 1);
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn is called with 2 formal
+ parameter
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = false;
+ function callbackfn(prevVal, curVal) {
+ result = (curVal > 10 && 1 === prevVal);
+ }
+
+ [11].reduce(callbackfn, 1);
+ return result;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js
index 1f8cef862..df9a41e19 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js
- * @description Array.prototype.reduce - callbackfn is called with 3 formal parameter
- */
-
-
-function testcase() {
-
- var result = false;
- function callbackfn(prevVal, curVal, idx) {
- result = (prevVal === 1 && arguments[3][idx] === curVal);
- }
-
- [11].reduce(callbackfn, 1);
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn is called with 3 formal
+ parameter
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = false;
+ function callbackfn(prevVal, curVal, idx) {
+ result = (prevVal === 1 && arguments[3][idx] === curVal);
+ }
+
+ [11].reduce(callbackfn, 1);
+ return result;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js
index b46437dd3..5d3f762bc 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js
- * @description Array.prototype.reduce - callbackfn is called with 4 formal parameter
- */
-
-
-function testcase() {
-
- var result = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- result = (prevVal === 1 && obj[idx] === curVal);
- }
-
- [11].reduce(callbackfn, 1);
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn is called with 4 formal
+ parameter
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ result = (prevVal === 1 && obj[idx] === curVal);
+ }
+
+ [11].reduce(callbackfn, 1);
+ return result;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js
index 4bd73720a..f304e21e1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js
@@ -1,22 +1,22 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js
- * @description Array.prototype.reduce - callbackfn that uses arguments
- */
-
-
-function testcase() {
-
- var result = false;
- function callbackfn() {
- result = (arguments[0] === 1 && arguments[3][arguments[2]] === arguments[1]);
- }
-
- [11].reduce(callbackfn, 1);
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - callbackfn that uses arguments
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = false;
+ function callbackfn() {
+ result = (arguments[0] === 1 && arguments[3][arguments[2]] === arguments[1]);
+ }
+
+ [11].reduce(callbackfn, 1);
+ return result;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js
index e6ab36d26..bae4ee7d2 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js
@@ -1,34 +1,34 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js
- * @description Array.prototype.reduce - non-indexed properties are not called
- */
-
-
-function testcase() {
-
- var accessed = false;
- var result1 = true;
- var result2 = true;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- if (curVal === 8) {
- result1 = false;
- }
-
- if (prevVal === 8) {
- result2 = false;
- }
- }
-
- var obj = { 0: 11, 10: 12, non_index_property: 8, length: 20 };
-
- Array.prototype.reduce.call(obj, callbackfn, 1);
- return result1 && result2 && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - non-indexed properties are not called
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var result1 = true;
+ var result2 = true;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ if (curVal === 8) {
+ result1 = false;
+ }
+
+ if (prevVal === 8) {
+ result2 = false;
+ }
+ }
+
+ var obj = { 0: 11, 10: 12, non_index_property: 8, length: 20 };
+
+ Array.prototype.reduce.call(obj, callbackfn, 1);
+ return result1 && result2 && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js
index 4b0ecb7e2..adfa6c6a3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js
@@ -1,29 +1,31 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js
- * @description Array.prototype.reduce - 'accumulator' used for current iteration is the result of previous iteration on an Array
- */
-
-
-function testcase() {
-
- var result = true;
- var accessed = false;
- var preIteration = 1;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- if (preIteration !== prevVal) {
- result = false;
- }
- preIteration = curVal;
- return curVal;
- }
-
- [11, 12, 13].reduce(callbackfn, 1);
- return result && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - 'accumulator' used for current iteration
+ is the result of previous iteration on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = true;
+ var accessed = false;
+ var preIteration = 1;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ if (preIteration !== prevVal) {
+ result = false;
+ }
+ preIteration = curVal;
+ return curVal;
+ }
+
+ [11, 12, 13].reduce(callbackfn, 1);
+ return result && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js
index e7515a77c..5705cbb72 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js
@@ -1,26 +1,29 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js
- * @description Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of 'initialValue' when it is present on an Array-like object
- */
-
-
-function testcase() {
-
- var result = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 0) {
- result = (arguments[0] === 1);
- }
- }
-
- var obj = { 0: 11, 1: 9, length: 2 };
-
- Array.prototype.reduce.call(obj, callbackfn, 1);
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'accumulator' used for first
+ iteration is the value of 'initialValue' when it is present on an
+ Array-like object
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 0) {
+ result = (arguments[0] === 1);
+ }
+ }
+
+ var obj = { 0: 11, 1: 9, length: 2 };
+
+ Array.prototype.reduce.call(obj, callbackfn, 1);
+ return result;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js
index 3c4839829..a82a22610 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js
@@ -1,26 +1,29 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js
- * @description Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of least index property which is not undefined when 'initialValue' is not present on an Array
- */
-
-
-function testcase() {
-
- var called = 0;
- var result = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- called++;
- if (idx === 1) {
- result = (prevVal === 11) && curVal === 9;
- }
- }
-
- [11, 9].reduce(callbackfn);
- return result && called === 1;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - value of 'accumulator' used for first
+ iteration is the value of least index property which is not
+ undefined when 'initialValue' is not present on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var called = 0;
+ var result = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ called++;
+ if (idx === 1) {
+ result = (prevVal === 11) && curVal === 9;
+ }
+ }
+
+ [11, 9].reduce(callbackfn);
+ return result && called === 1;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js
index eac3d5109..2cf5cf27c 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js
- * @description Array.prototype.reduce - callbackfn called with correct parameters (initialvalue passed)
- */
-
-
-function testcase() {
-
- var bParCorrect = false;
- function callbackfn(prevVal, curVal, idx, obj)
- {
- if(idx === 0 && obj[idx] === curVal && prevVal === initialValue)
- return curVal;
- else if(idx > 0 && obj[idx] === curVal && obj[idx-1] === prevVal)
- return curVal;
- else
- return false;
- }
-
- var arr = [0,1,true,null,new Object(),"five"];
- var initialValue = 5.5;
- if( arr.reduce(callbackfn,initialValue) === "five")
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn called with correct parameters
+ (initialvalue passed)
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var bParCorrect = false;
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ if(idx === 0 && obj[idx] === curVal && prevVal === initialValue)
+ return curVal;
+ else if(idx > 0 && obj[idx] === curVal && obj[idx-1] === prevVal)
+ return curVal;
+ else
+ return false;
+ }
+
+ var arr = [0,1,true,null,new Object(),"five"];
+ var initialValue = 5.5;
+ if( arr.reduce(callbackfn,initialValue) === "five")
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js
index d7ba7fe62..4d937aaf8 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js
- * @description Array.prototype.reduce - undefined can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return typeof prevVal === "undefined";
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, undefined) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - undefined can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return typeof prevVal === "undefined";
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, undefined) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js
index 7201f71c3..5320658d1 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js
- * @description Array.prototype.reduce - null can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === null;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, null) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - null can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === null;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, null) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js
index ccd9acba9..a5ab0a84f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js
- * @description Array.prototype.reduce - boolean primitive can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === false;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, false) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - boolean primitive can be used as
+ accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === false;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, false) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js
index 3ac6f9d30..c4ec040b5 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js
- * @description Array.prototype.reduce - number primitive can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === 12;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, 12) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - number primitive can be used as
+ accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === 12;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, 12) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js
index 7deb554fe..aa6025e32 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js
- * @description Array.prototype.reduce - string primitive can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === "hello_";
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, "hello_") === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - string primitive can be used as
+ accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === "hello_";
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, "hello_") === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js
index 12507db44..d68ed6d93 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js
- * @description Array.prototype.reduce - Function object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objFunction = function () { };
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objFunction;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objFunction) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - Function object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objFunction = function () { };
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objFunction;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objFunction) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js
index 0f0ffe500..8e212f124 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js
- * @description Array.prototype.reduce - Array object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objArray = new Array(10);
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objArray;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objArray) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - Array object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objArray = new Array(10);
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objArray;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objArray) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js
index daaf15504..68ad1482f 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js
- * @description Array.prototype.reduce - String object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objString = new String();
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objString;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objString) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - String object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objString = new String();
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objString;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objString) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js
index 2e1c8acb0..a7327758d 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js
- * @description Array.prototype.reduce - Boolean object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objBoolean = new Boolean();
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objBoolean;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objBoolean) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - Boolean object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objBoolean = new Boolean();
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objBoolean;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objBoolean) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js
index 58d739d0c..a04aa56eb 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js
- * @description Array.prototype.reduce - Number object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objNumber = new Number();
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objNumber;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objNumber) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - Number object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objNumber = new Number();
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objNumber;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objNumber) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js
index 4af1a3a64..2e7ab7a58 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js
@@ -1,27 +1,27 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js
- * @description Array.prototype.reduce - callbackfn takes 4 arguments
- */
-
-
-function testcase() {
-
- var bCalled = false;
- function callbackfn(prevVal, curVal, idx, obj)
- {
- bCalled = true;
- if(prevVal === true && arguments.length === 4)
- return true;
- else
- return false;
- }
- var arr = [0,1,2,3,4,5,6,7,8,9];
- if(arr.reduce(callbackfn,true) === true && bCalled === true)
- return true;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - callbackfn takes 4 arguments
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var bCalled = false;
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ bCalled = true;
+ if(prevVal === true && arguments.length === 4)
+ return true;
+ else
+ return false;
+ }
+ var arr = [0,1,2,3,4,5,6,7,8,9];
+ if(arr.reduce(callbackfn,true) === true && bCalled === true)
+ return true;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js
index 1a264d477..6aa8a37b3 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js
- * @description Array.prototype.reduce - the Math object can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === Math;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, Math) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - the Math object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === Math;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, Math) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js
index b174da5c3..0b28bb294 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js
- * @description Array.prototype.reduce - Date object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objDate = new Date();
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objDate;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objDate) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - Date object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objDate = new Date();
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objDate;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objDate) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js
index 87c79c2a0..75898649e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js
- * @description Array.prototype.reduce - RegExp object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objRegExp = new RegExp();
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objRegExp;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objRegExp) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - RegExp object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objRegExp = new RegExp();
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objRegExp;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objRegExp) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js
index 3c3ae87a7..1b798dc95 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js
@@ -1,24 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js
- * @description Array.prototype.reduce - the JSON can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === JSON;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, JSON) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - the JSON can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === JSON;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, JSON) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js
index ff40bd4a7..ff7de5a0a 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js
@@ -1,26 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js
- * @description Array.prototype.reduce - Error object can be used as accumulator
- */
-
-
-function testcase() {
-
- var objError = new RangeError();
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === objError;
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, objError) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: Array.prototype.reduce - Error object can be used as accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var objError = new RangeError();
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === objError;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, objError) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js
index 6e89c68d3..11d36263e 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js
- * @description Array.prototype.reduce - the Arguments object can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- var arg;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === arg;
- }
-
- var obj = { 0: 11, length: 1 };
-
- (function fun() {
- arg = arguments;
- }(10, 11, 12, 13));
-
- return Array.prototype.reduce.call(obj, callbackfn, arg) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the Arguments object can be used as
+ accumulator
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ var arg;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === arg;
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ (function fun() {
+ arg = arguments;
+ }(10, 11, 12, 13));
+
+ return Array.prototype.reduce.call(obj, callbackfn, arg) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js
index 1cfe96ff7..217f6683b 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js
@@ -1,24 +1,28 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js
- * @description Array.prototype.reduce - the global object can be used as accumulator
- */
-
-
-function testcase() {
-
- var accessed = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- return prevVal === fnGlobalObject();
- }
-
- var obj = { 0: 11, length: 1 };
-
- return Array.prototype.reduce.call(obj, callbackfn, fnGlobalObject()) === true && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - the global object can be used as
+ accumulator
+includes:
+ - runTestCase.js
+ - fnGlobalObject.js
+---*/
+
+function testcase() {
+
+ var accessed = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ return prevVal === fnGlobalObject();
+ }
+
+ var obj = { 0: 11, length: 1 };
+
+ return Array.prototype.reduce.call(obj, callbackfn, fnGlobalObject()) === true && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js
index 692b84955..ce1becf75 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js
@@ -1,24 +1,26 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js
- * @description Array.prototype.reduce - undefined passed as thisValue to strict callbackfn
- * @onlyStrict
- */
-
-
-function testcase() {
- var innerThisCorrect = false;
- function callbackfn(prevVal, curVal, idx, obj)
- {
- "use strict";
- innerThisCorrect = this===undefined;
- return true;
- }
- [0].reduce(callbackfn,true);
- return innerThisCorrect;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - undefined passed as thisValue to strict
+ callbackfn
+flags: [onlyStrict]
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+ var innerThisCorrect = false;
+ function callbackfn(prevVal, curVal, idx, obj)
+ {
+ "use strict";
+ innerThisCorrect = this===undefined;
+ return true;
+ }
+ [0].reduce(callbackfn,true);
+ return innerThisCorrect;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js
index a95871222..4bd6e3d03 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js
@@ -1,31 +1,33 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js
- * @description Array.prototype.reduce - k values are passed in acending numeric order on an Array
- */
-
-
-function testcase() {
-
- var arr = [0, 1, 2];
- var lastIdx = 0;
- var result = true;
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- accessed = true;
- if (lastIdx !== idx) {
- result = false;
- } else {
- lastIdx++;
- }
- }
-
- arr.reduce(callbackfn, 11);
- return result && accessed;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - k values are passed in acending numeric
+ order on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var arr = [0, 1, 2];
+ var lastIdx = 0;
+ var result = true;
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ accessed = true;
+ if (lastIdx !== idx) {
+ result = false;
+ } else {
+ lastIdx++;
+ }
+ }
+
+ arr.reduce(callbackfn, 11);
+ return result && accessed;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js
index 76a337fd9..cee69c0df 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js
@@ -1,37 +1,39 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js
- * @description Array.prototype.reduce - k values are accessed during each iteration and not prior to starting the loop on an Array
- */
-
-
-function testcase() {
-
- var result = true;
- var kIndex = [];
- var called = 0;
-
- //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(prevVal, curVal, idx, obj) {
- //Each position should be visited one time, which means k is accessed one time during iterations.
- called++;
- 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") {
- result = false;
- }
- kIndex[idx] = 1;
- } else {
- result = false;
- }
- }
-
- [11, 12, 13, 14].reduce(callbackfn, 1);
-
- return result && called === 4;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - k values are accessed during each
+ iteration and not prior to starting the loop on an Array
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = true;
+ var kIndex = [];
+ var called = 0;
+
+ //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(prevVal, curVal, idx, obj) {
+ //Each position should be visited one time, which means k is accessed one time during iterations.
+ called++;
+ 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") {
+ result = false;
+ }
+ kIndex[idx] = 1;
+ } else {
+ result = false;
+ }
+ }
+
+ [11, 12, 13, 14].reduce(callbackfn, 1);
+
+ return result && called === 4;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js
index 1658f66fd..e00fa0d79 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js
@@ -1,34 +1,36 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js
- * @description Array.prototype.reduce - unhandled exceptions happened in callbackfn terminate iteration
- */
-
-
-function testcase() {
-
- var accessed = false;
-
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx > 0) {
- accessed = true;
- }
- if (idx === 0) {
- throw new Error("Exception occurred in callbackfn");
- }
- }
-
- var obj = { 0: 11, 4: 10, 10: 8, length: 20 };
-
- try {
- Array.prototype.reduce.call(obj, callbackfn, 1);
- return false;
- } catch (ex) {
- return (ex instanceof Error) && !accessed;
- }
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - unhandled exceptions happened in
+ callbackfn terminate iteration
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var accessed = false;
+
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx > 0) {
+ accessed = true;
+ }
+ if (idx === 0) {
+ throw new Error("Exception occurred in callbackfn");
+ }
+ }
+
+ var obj = { 0: 11, 4: 10, 10: 8, length: 20 };
+
+ try {
+ Array.prototype.reduce.call(obj, callbackfn, 1);
+ return false;
+ } catch (ex) {
+ return (ex instanceof Error) && !accessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js
index 61c13270c..ddb001d18 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js
@@ -1,30 +1,32 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js
- * @description Array.prototype.reduce - element changed by callbackfn on previous iterations is observed
- */
-
-
-function testcase() {
-
- var result = false;
- function callbackfn(prevVal, curVal, idx, obj) {
- if (idx === 0) {
- obj[idx + 1] = 8;
- }
-
- if (idx === 1) {
- result = (curVal === 8);
- }
- }
-
- var obj = { 0: 11, 1: 12, length: 2 };
-
- Array.prototype.reduce.call(obj, callbackfn, 1);
- return result;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - element changed by callbackfn on previous
+ iterations is observed
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var result = false;
+ function callbackfn(prevVal, curVal, idx, obj) {
+ if (idx === 0) {
+ obj[idx + 1] = 8;
+ }
+
+ if (idx === 1) {
+ result = (curVal === 8);
+ }
+ }
+
+ var obj = { 0: 11, 1: 12, length: 2 };
+
+ Array.prototype.reduce.call(obj, callbackfn, 1);
+ return result;
+ }
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js
index 20b8aed1c..102a876c4 100644
--- a/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js
+++ b/test/suite/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js
@@ -1,22 +1,24 @@
-/// Copyright (c) 2012 Ecma International. All rights reserved.
-/// Ecma International makes this code available under the terms and conditions set
-/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
-/// "Use Terms"). Any redistribution of this code must retain the above
-/// copyright and this notice and otherwise comply with the Use Terms.
-/**
- * @path ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js
- * @description Array.prototype.reduce - callbackfn is called with 0 formal parameter
- */
-
-
-function testcase() {
-
- var called = 0;
- function callbackfn() {
- called++;
- }
-
- [11, 12].reduce(callbackfn, 1);
- return 2 === called;
- }
-runTestCase(testcase);
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// Ecma International makes this code available under the terms and conditions set
+// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
+// "Use Terms"). Any redistribution of this code must retain the above
+// copyright and this notice and otherwise comply with the Use Terms.
+
+/*---
+description: >
+ Array.prototype.reduce - callbackfn is called with 0 formal
+ parameter
+includes: [runTestCase.js]
+---*/
+
+function testcase() {
+
+ var called = 0;
+ function callbackfn() {
+ called++;
+ }
+
+ [11, 12].reduce(callbackfn, 1);
+ return 2 === called;
+ }
+runTestCase(testcase);