aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7')
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js35
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js67
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js67
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js75
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js67
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js66
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js66
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js67
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js69
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js63
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js61
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js66
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js67
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js73
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js73
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js70
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js64
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js73
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js68
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js66
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js65
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js50
619 files changed, 32237 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js
new file mode 100644
index 000000000..81d5cbcc7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.7-0-1",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js",
+
+description: "Object.defineProperties must exist as a function",
+
+test: function testcase() {
+ var f = Object.defineProperties;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js
new file mode 100644
index 000000000..6eef5f0de
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.7-0-2",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js",
+
+description: "Object.defineProperties must exist as a function taking 2 parameters",
+
+test: function testcase() {
+ if (Object.defineProperties.length === 2) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js
new file mode 100644
index 000000000..755f7d675
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-1-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js",
+
+ description: "Object.defineProperties throws TypeError if 'O' is undefined",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperties(undefined, {});
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js
new file mode 100644
index 000000000..52d0ce2f5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-1-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js",
+
+ description: "Object.defineProperties throws TypeError if 'O' is null",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperties(null, {});
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js
new file mode 100644
index 000000000..6e8b115dd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-1-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js",
+
+ description: "Object.defineProperties throws TypeError if 'O' is a boolean",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperties(true, {});
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js
new file mode 100644
index 000000000..20a19d4c0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-1-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js",
+
+ description: "Object.defineProperties throws TypeError if 'O' is a string",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperties("abc", {});
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js
new file mode 100644
index 000000000..6edf69eaf
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.7-1",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js",
+
+description: "Object.defineProperties throws TypeError if type of first param is not Object",
+
+test: function testcase() {
+ try {
+ Object.defineProperties(0, {});
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js
new file mode 100644
index 000000000..88c2efd6e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js",
+
+ description: "Object.defineProperties throws TypeError if 'Properties' is null",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperties({}, null);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js
new file mode 100644
index 000000000..e13bf8189
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-10",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js",
+
+ description: "Object.defineProperties - argument 'Properties' is an Array object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = [];
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof Array;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
+
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js
new file mode 100644
index 000000000..c42ae0f25
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-11",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js",
+
+ description: "Object.defineProperties - argument 'Properties' is the Math object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var result = false;
+
+ try {
+ Object.defineProperty(Math, "prop", {
+ get: function () {
+ result = (this === Math);
+ return {};
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, Math);
+ return result;
+ } finally {
+ delete Math.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js
new file mode 100644
index 000000000..2474b03ad
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-12",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a Date object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Date();
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof Date;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js
new file mode 100644
index 000000000..cd43e383b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-13",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a RegExp object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new RegExp();
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof RegExp;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js
new file mode 100644
index 000000000..8f733ba3b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-14",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js",
+
+ description: "Object.defineProperties - argument 'Properties' is the JSON object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var result = false;
+
+ try {
+ Object.defineProperty(JSON, "prop", {
+ get: function () {
+ result = (this === JSON);
+ return {};
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, JSON);
+ return result;
+ } finally {
+ delete JSON.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js
new file mode 100644
index 000000000..b267f5e63
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-15",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js",
+
+ description: "Object.defineProperties - argument 'Properties' is an Error object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Error("test");
+ var obj1 = {
+ value: 11
+ };
+ props.description = obj1;
+ props.message = obj1;
+ props.name = obj1;
+
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof Error;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js
new file mode 100644
index 000000000..f549d52bd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-16",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js",
+
+ description: "Object.defineProperties - argument 'Properties' is the Arguments object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var result = false;
+
+ var Fun = function () {
+ return arguments;
+ };
+ var props = new Fun();
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = ('[object Arguments]' === Object.prototype.toString.call(this));
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js
new file mode 100644
index 000000000..1fea94a92
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-18",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js",
+
+ description: "Object.defineProperties - argument 'Properties' is the global object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var result = false;
+
+ try {
+ Object.defineProperty(fnGlobalObject(), "prop", {
+ get: function () {
+ result = (this === fnGlobalObject());
+ return {};
+ },
+ enumerable: true,
+ configurable:true
+ });
+
+ Object.defineProperties(obj, fnGlobalObject());
+ return result;
+ } catch (e) {
+ return (e instanceof TypeError);
+ } finally {
+ delete fnGlobalObject().prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js
new file mode 100644
index 000000000..8f6899037
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js",
+
+ description: "Object.defineProperties throws TypeError if 'Properties' is undefined",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperties({}, undefined);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js
new file mode 100644
index 000000000..0ae28bed0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a boolean whose value is false",
+
+ test: function testcase() {
+
+ var obj = {};
+ var obj1 = Object.defineProperties(obj, false);
+ return obj === obj1;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js
new file mode 100644
index 000000000..35b5a9fea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a Boolean object whose primitive value is true",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Boolean(true);
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof Boolean;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js
new file mode 100644
index 000000000..78e92496c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-5",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js",
+
+ description: "Object.defineProperties - argument 'Properties' is any interesting number",
+
+ test: function testcase() {
+
+ var obj = { "123": 100 };
+ var obj1 = Object.defineProperties(obj, -12);
+ return obj === obj1;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js
new file mode 100644
index 000000000..e8179c4bb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-6",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a Number object whose primitive value is any interesting number",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Number(-12);
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof Number;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js
new file mode 100644
index 000000000..07eb0a6e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-7",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a string whose value is any interesting string",
+
+ test: function testcase() {
+
+ var obj = { "123": 100 };
+ var obj1 = Object.defineProperties(obj, "");
+ return obj === obj1;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js
new file mode 100644
index 000000000..9df2a8764
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-8",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a String object whose primitive value is any interesting string",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new String();
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof String;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js
new file mode 100644
index 000000000..e3815d074
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-2-9",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js",
+
+ description: "Object.defineProperties - argument 'Properties' is a Function object",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = function () { };
+ var result = false;
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ result = this instanceof Function;
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+ return result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js
new file mode 100644
index 000000000..0cd6340ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js",
+
+ description: "Object.defineProperties - enumerable own data property of 'Properties' is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = {};
+ Object.defineProperty(props, "prop", {
+ value: {},
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js
new file mode 100644
index 000000000..a1a798229
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js",
+
+ description: "Object.defineProperties - own data property of 'Properties' which is not enumerable is not defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = {};
+
+ Object.defineProperty(props, "prop", {
+ value: {},
+ enumerable: false
+ });
+
+ Object.defineProperties(obj, props);
+
+ return !obj.hasOwnProperty("prop");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js
new file mode 100644
index 000000000..67698c20e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js",
+
+ description: "Object.defineProperties - enumerable inherited data property of 'Properties' is not defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ value: {},
+ enumerable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var child = new Con();
+
+ Object.defineProperties(obj, child);
+
+ return !obj.hasOwnProperty("prop");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js
new file mode 100644
index 000000000..6e8170cb9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js",
+
+ description: "Object.defineProperties - enumerable own accessor property of 'Properties' is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var props = {};
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js
new file mode 100644
index 000000000..939e48fa1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-5",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js",
+
+ description: "Object.defineProperties - own accessor property of 'Properties' which is not enumerable is not defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var props = {};
+
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ return {};
+ },
+ enumerable: false
+ });
+
+ Object.defineProperties(obj, props);
+
+ return !obj.hasOwnProperty("prop");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js
new file mode 100644
index 000000000..db6cec60e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-6",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js",
+
+ description: "Object.defineProperties - enumerable inherited accessor property of 'Properties' is not defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ get: function () {
+ return {};
+ },
+ enumerable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var child = new Con();
+
+ Object.defineProperties(obj, child);
+
+ return !obj.hasOwnProperty("prop");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js
new file mode 100644
index 000000000..c44f6e533
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-7",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js",
+
+ description: "Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var props = {};
+
+ Object.defineProperty(props, "prop1", {
+ value: {},
+ enumerable: false
+ });
+
+ Object.defineProperty(props, "prop2", {
+ get: function () {
+ return {};
+ },
+ enumerable: false
+ });
+
+ Object.defineProperties(obj, props);
+
+ return !obj.hasOwnProperty("prop1") && !obj.hasOwnProperty("prop2");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js
new file mode 100644
index 000000000..fa778f6da
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-3-8",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js",
+
+ description: "Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var props = {};
+
+ Object.defineProperty(props, "prop1", {
+ value: {},
+ enumerable: false
+ });
+
+ Object.defineProperty(props, "prop2", {
+ get: function () {
+ return {};
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+
+ return !obj.hasOwnProperty("prop1") && obj.hasOwnProperty("prop2");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js
new file mode 100644
index 000000000..6c74bc977
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js",
+
+ description: "Object.defineProperties - 'P' is own data property that overrides enumerable inherited data property of 'Properties' is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ value: {
+ value: 9
+ },
+ enumerable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "prop", {
+ value: {
+ value: 12
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, child);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js
new file mode 100644
index 000000000..a7d0a8504
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-10",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js",
+
+ description: "Object.defineProperties - 'Properties' is a Boolean object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Boolean(false);
+
+ Object.defineProperty(props, "prop", {
+ value: {
+ value: 10
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 10;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js
new file mode 100644
index 000000000..6d307aa77
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-11",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js",
+
+ description: "Object.defineProperties - 'Properties' is a Number object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Number(-9);
+
+ Object.defineProperty(props, "prop", {
+ value: {
+ value: 12
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js
new file mode 100644
index 000000000..0e6fe4c06
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-12",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js",
+
+ description: "Object.defineProperties - 'Properties' is the Math object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Math.prop = {
+ value: 12
+ };
+ Object.defineProperties(obj, Math);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+ } finally {
+ delete Math.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js
new file mode 100644
index 000000000..389d635e4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-13",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js",
+
+ description: "Object.defineProperties - 'Properties' is a Date object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Date();
+
+ Object.defineProperty(props, "prop", {
+ value: {
+ value: 13
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 13;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js
new file mode 100644
index 000000000..f6dacd6c0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-14",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js",
+
+ description: "Object.defineProperties - 'Properties' is a RegExp object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new RegExp();
+
+ Object.defineProperty(props, "prop", {
+ value: {
+ value: 14
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 14;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js
new file mode 100644
index 000000000..150d52f91
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-15",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js",
+
+ description: "Object.defineProperties - 'Properties' is the JSON object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ JSON.prop = {
+ value: 15
+ };
+ Object.defineProperties(obj, JSON);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 15;
+ } finally {
+ delete JSON.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js
new file mode 100644
index 000000000..4fb13211a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-16",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js",
+
+ description: "Object.defineProperties - 'Properties' is an Error object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new Error("test");
+ var obj1 = {
+ value: 11
+ };
+ props.message = obj1;
+ props.name = obj1;
+ props.description = obj1;
+
+ props.prop = {
+ value: 16
+ };
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 16;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js
new file mode 100644
index 000000000..3a6f87070
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-17",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js",
+
+ description: "Object.defineProperties - 'Properties' is the Arguments object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ Object.defineProperty(arg, "prop", {
+ value: {
+ value: 17
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, arg);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 17;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js
new file mode 100644
index 000000000..e8bec4b00
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js",
+
+ description: "Object.defineProperties - 'P' is own data property that overrides enumerable inherited accessor property of 'Properties' is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ get: function () {
+ return {
+ value: 9
+ };
+ },
+ enumerable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "prop", {
+ value: {
+ value: 12
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, child);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js
new file mode 100644
index 000000000..be6966aef
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js",
+
+ description: "Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited data property of 'Properties' is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ value: {
+ value: 9
+ },
+ enumerable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "prop", {
+ get: function () {
+ return {
+ value: 12
+ };
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, child);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js
new file mode 100644
index 000000000..b4a937e12
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js",
+
+ description: "Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited accessor property of 'Properties' is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ get: function () {
+ return {
+ value: 9
+ };
+ },
+ enumerable: false
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "prop", {
+ get: function () {
+ return {
+ value: 12
+ };
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, child);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js
new file mode 100644
index 000000000..0c47afbf7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-5",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js",
+
+ description: "Object.defineProperties - enumerable own accessor property of 'Properties' without a get function is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var props = {};
+ Object.defineProperty(props, "prop", {
+ get: function () {
+ return {
+ set: function () { }
+ };
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && typeof obj.prop === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js
new file mode 100644
index 000000000..0fe30a0aa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-6",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js",
+
+ description: "Object.defineProperties - enumerable own accessor property of 'Properties' without a get function that overrides enumerable inherited accessor property of 'Properties' is defined in 'O' ",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ get: function () {
+ return 12;
+ },
+ enumerable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "prop", {
+ get: function () {
+ return {
+ set: function () { }
+ };
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, child);
+
+ return obj.hasOwnProperty("prop") && typeof obj.prop === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js
new file mode 100644
index 000000000..b070e7a62
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-7",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js",
+
+ description: "Object.defineProperties - 'Properties' is a Function object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = function () { };
+
+ Object.defineProperty(props, "prop", {
+ value: {
+ value: 7
+ },
+ enumerable: true
+ });
+
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 7;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js
new file mode 100644
index 000000000..257e252c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-8",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js",
+
+ description: "Object.defineProperties - 'Properties' is an Array object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = [];
+ var descObj = {
+ value: 8
+ };
+
+ Object.defineProperty(props, "prop", {
+ value: descObj,
+ enumerable: true
+ });
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 8;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js
new file mode 100644
index 000000000..f128d5bff
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-a-9",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js",
+
+ description: "Object.defineProperties - 'Properties' is a String object which implements its own [[Get]] method to get enumerable own property",
+
+ test: function testcase() {
+
+ var obj = {};
+ var props = new String();
+
+ Object.defineProperty(props, "prop", {
+ value: {
+ value: 9
+ },
+ enumerable: true
+ });
+ Object.defineProperties(obj, props);
+
+ return obj.hasOwnProperty("prop") && obj.prop === 9;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js
new file mode 100644
index 000000000..2a9f28ae1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js",
+
+ description: "Object.defineProperties - 'descObj' is undefined (8.10.5 step 1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: undefined
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && !obj.hasOwnProperty("prop");
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js
new file mode 100644
index 000000000..68d55a9aa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-10",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ var proto = {
+ enumerable: true
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "enumerable", {
+ value: false
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js
new file mode 100644
index 000000000..93d2624e5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-100",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is Boolean object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: new Boolean(true)
+ }
+ });
+
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js
new file mode 100644
index 000000000..4e696952e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-101",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is Number object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: new Number(-123)
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js
new file mode 100644
index 000000000..547bff1ec
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-102",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is the Math object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: Math
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js
new file mode 100644
index 000000000..5650ed969
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-103",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is Date object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: new Date()
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js
new file mode 100644
index 000000000..afc7faa96
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-104",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is RegExp object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: new RegExp()
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js
new file mode 100644
index 000000000..af3176de8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-105",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is the JSON object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: JSON
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js
new file mode 100644
index 000000000..976d26a26
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-106",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is Error object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: new SyntaxError()
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js
new file mode 100644
index 000000000..7a26c52ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-107",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is the Argument object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b, c) {
+ return arguments;
+ };
+
+ var args = func(1, true, "a");
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: args
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js
new file mode 100644
index 000000000..60f4e95ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-109",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is the global object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: fnGlobalObject()
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js
new file mode 100644
index 000000000..0f13454fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-11",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ var accessed = false;
+
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "enumerable", {
+ value: false
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js
new file mode 100644
index 000000000..d5246caf4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-110",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: "false"
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js
new file mode 100644
index 000000000..c8d893012
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-111",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: new Boolean(false)
+ }
+ });
+ var preCheck = obj.hasOwnProperty("property");
+ delete obj.property;
+
+ return preCheck && !obj.hasOwnProperty("property");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js
new file mode 100644
index 000000000..ab7b39fdc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-112",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is present (8.10.5 step 5)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ value: 300
+ }
+ });
+
+ return obj.property === 300;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js
new file mode 100644
index 000000000..c3b58c6db
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-113",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is not present (8.10.5 step 5)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: true
+ }
+ });
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js
new file mode 100644
index 000000000..a6972e38b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-114",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own data property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ value: "ownDataProperty"
+ }
+ });
+
+ return obj.property === "ownDataProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js
new file mode 100644
index 000000000..fcfc96668
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-115",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is inherited data property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {
+ value: "inheritedDataProperty"
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "inheritedDataProperty";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js
new file mode 100644
index 000000000..d517a9ef5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-116",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {
+ value: "inheritedDataProperty"
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ descObj.value = "ownDataProperty";
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownDataProperty";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js
new file mode 100644
index 000000000..752e5f297
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-117",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "value", {
+ value: "ownDataProperty"
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownDataProperty";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js
new file mode 100644
index 000000000..757a8e645
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-118",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own accessor property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = {};
+
+ Object.defineProperty(descObj, "value", {
+ get: function () {
+ return "ownAccessorProperty";
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownAccessorProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js
new file mode 100644
index 000000000..b738a609f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-119",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is inherited accessor property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "inheritedAccessorProperty";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js
new file mode 100644
index 000000000..a54c4b082
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-12",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+ var descObj = {};
+
+ Object.defineProperty(descObj, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js
new file mode 100644
index 000000000..7450c5799
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-120",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {
+ value: "inheritedDataProperty"
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "value", {
+ get: function () {
+ return "ownAccessorProperty";
+ }
+ });
+
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownAccessorProperty";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js
new file mode 100644
index 000000000..3d9cf3ce3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-121",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "value", {
+ get: function () {
+ return "ownAccessorProperty";
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownAccessorProperty";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js
new file mode 100644
index 000000000..ef7d6e0b2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-122",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = {};
+
+ Object.defineProperty(descObj, "value", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js
new file mode 100644
index 000000000..7e31feab9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-123",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "value", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js
new file mode 100644
index 000000000..576ef765f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-124",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js",
+
+ description: "Object.defineProperties - 'value' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "value", {
+ set: function () { }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js
new file mode 100644
index 000000000..c425f980d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-125",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js",
+
+
+ description: "Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b) {
+ return a + b;
+ };
+
+ func.value = "Function";
+
+ Object.defineProperties(obj, {
+ property: func
+ });
+
+ return obj.property === "Function";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js
new file mode 100644
index 000000000..64c60a2fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-126",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js",
+
+ description: "Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var arr = [1, 2, 3];
+
+ arr.value = "Array";
+
+ Object.defineProperties(obj, {
+ property: arr
+ });
+
+ return obj.property === "Array";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js
new file mode 100644
index 000000000..eaa13b27b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-127",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js",
+
+ description: "Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var str = new String("abc");
+
+ str.value = "String";
+
+ Object.defineProperties(obj, {
+ property: str
+ });
+
+ return obj.property === "String";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js
new file mode 100644
index 000000000..0f6a6da71
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-128",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js",
+
+ description: "Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Boolean(false);
+
+ descObj.value = "Boolean";
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Boolean";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js
new file mode 100644
index 000000000..979256264
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-129",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js",
+
+ description: "Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Number(-9);
+
+ descObj.value = "Number";
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Number";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js
new file mode 100644
index 000000000..fa37390f7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-13",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ var accessed = false;
+
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js
new file mode 100644
index 000000000..58a40e237
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-130",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js",
+
+ description: "Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ Math.value = "Math";
+
+ Object.defineProperties(obj, {
+ property: Math
+ });
+
+ return obj.property === "Math";
+ } finally {
+ delete Math.value;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js
new file mode 100644
index 000000000..0b001264b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-131",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js",
+
+ description: "Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Date();
+
+ descObj.value = "Date";
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Date";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js
new file mode 100644
index 000000000..f12f28556
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-132",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js",
+
+ description: "Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new RegExp();
+
+ descObj.value = "RegExp";
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "RegExp";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js
new file mode 100644
index 000000000..701bafcc6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-133",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js",
+
+ description: "Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ JSON.value = "JSON";
+
+ Object.defineProperties(obj, {
+ property: JSON
+ });
+
+ return obj.property === "JSON";
+ } finally {
+ delete JSON.value;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js
new file mode 100644
index 000000000..64cc900fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-134",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js",
+
+ description: "Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Error();
+
+ descObj.value = "Error";
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Error";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js
new file mode 100644
index 000000000..144d71e05
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-135",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js",
+
+ description: "Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b) {
+ arguments.value = "arguments";
+
+ Object.defineProperties(obj, {
+ property: arguments
+ });
+
+ return obj.property === "arguments";
+ };
+
+ return func();
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js
new file mode 100644
index 000000000..a7d60188e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-137",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js",
+
+ description: "Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ fnGlobalObject().value = "global";
+
+ Object.defineProperties(obj, {
+ property: fnGlobalObject()
+ });
+
+ return obj.property === "global";
+ } finally {
+ delete fnGlobalObject().value;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js
new file mode 100644
index 000000000..db9f17ecd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-138",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is present (8.10.5 step 6)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: false
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js
new file mode 100644
index 000000000..d2dffe19d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-139",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is not present (8.10.5 step 6)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ value: "abc"
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "abc";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js
new file mode 100644
index 000000000..78eaf769d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-14",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+ var proto = {
+ enumerable: true
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "enumerable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js
new file mode 100644
index 000000000..18cd21ae9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-140",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own data property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: false
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js
new file mode 100644
index 000000000..c7e534ea7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-141",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is inherited data property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {
+ writable: false
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js
new file mode 100644
index 000000000..7a8da9cc6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-142",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {
+ writable: true
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ descObj.writable = false;
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js
new file mode 100644
index 000000000..7b57b0a1f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-143",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = { value: 120 };
+
+ Object.defineProperty(proto, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "writable", {
+ value: false
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && obj.property === 120;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js
new file mode 100644
index 000000000..9b798db52
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-144",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own accessor property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = {};
+
+ Object.defineProperty(descObj, "writable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js
new file mode 100644
index 000000000..1d3ecafde
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-145",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js
new file mode 100644
index 000000000..675d22b89
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-146",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {
+ writable: true
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "writable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js
new file mode 100644
index 000000000..c3160f0b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-147",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "writable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js
new file mode 100644
index 000000000..d3989f833
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-148",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = {};
+
+ Object.defineProperty(descObj, "writable", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js
new file mode 100644
index 000000000..6aa3783b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-149",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "writable", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js
new file mode 100644
index 000000000..d3e43f201
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-15",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ var accessed = false;
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "enumerable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js
new file mode 100644
index 000000000..c366121eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-150",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js",
+
+ description: "Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "writable", {
+ set: function () { }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js
new file mode 100644
index 000000000..105b3a8f1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-151",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js",
+
+ description: "Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b) {
+ return a + b;
+ };
+
+ func.writable = false;
+
+ Object.defineProperties(obj, {
+ property: func
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js
new file mode 100644
index 000000000..7b9611f69
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-152",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js",
+
+ description: "Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var arr = [1, 2, 3];
+
+ arr.writable = false;
+
+ Object.defineProperties(obj, {
+ property: arr
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js
new file mode 100644
index 000000000..2c0e035d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-153",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js",
+
+ description: "Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var str = new String("abc");
+
+ str.writable = false;
+
+ Object.defineProperties(obj, {
+ property: str
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js
new file mode 100644
index 000000000..f2ae8602d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-154",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js",
+
+ description: "Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Boolean(false);
+
+ descObj.writable = false;
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js
new file mode 100644
index 000000000..265c8f1f9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-155",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js",
+
+ description: "Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Number(-9);
+
+ descObj.writable = false;
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js
new file mode 100644
index 000000000..5f4922fc6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-156",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js",
+
+ description: "Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Math.writable = false;
+
+ Object.defineProperties(obj, {
+ property: Math
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ } finally {
+ delete Math.writable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js
new file mode 100644
index 000000000..39720ae5d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-157",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js",
+
+ description: "Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Date();
+
+ descObj.writable = false;
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js
new file mode 100644
index 000000000..abe57e07f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-158",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js",
+
+ description: "Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new RegExp();
+
+ descObj.writable = false;
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js
new file mode 100644
index 000000000..4b2a3cae6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-159",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js",
+
+ description: "Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ JSON.writable = false;
+
+ Object.defineProperties(obj, {
+ property: JSON
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ } finally {
+ delete JSON.writable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js
new file mode 100644
index 000000000..3b954535e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-16",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+ var descObj = {};
+
+ Object.defineProperty(descObj, "enumerable", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js
new file mode 100644
index 000000000..00ce82c5b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-160",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js",
+
+ description: "Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Error();
+
+ descObj.writable = false;
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js
new file mode 100644
index 000000000..708add18f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-161",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js",
+
+ description: "Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b) {
+ arguments.writable = false;
+
+ Object.defineProperties(obj, {
+ property: arguments
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ };
+
+ return func();
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js
new file mode 100644
index 000000000..ef38f16e2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-163",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js",
+
+ description: "Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ fnGlobalObject().writable = false;
+
+ Object.defineProperties(obj, {
+ property: fnGlobalObject()
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ } finally {
+ delete fnGlobalObject().writable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js
new file mode 100644
index 000000000..1c4d0f030
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-164",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is undefined (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: undefined
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js
new file mode 100644
index 000000000..d7d3f1e24
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-165",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is null (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: null
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js
new file mode 100644
index 000000000..663030f1e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-166",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is true (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: true
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js
new file mode 100644
index 000000000..89d0de789
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-167",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is false (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: false
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js
new file mode 100644
index 000000000..e6d8719d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-168",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is 0 (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: 0
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js
new file mode 100644
index 000000000..32fc4931d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-169",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is +0 (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: +0
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js
new file mode 100644
index 000000000..4cb8384a1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-17",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ var accessed = false;
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "enumerable", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js
new file mode 100644
index 000000000..5e06f402e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-170",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is -0 (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: -0
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js
new file mode 100644
index 000000000..72fcf369c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-171",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is NaN (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: NaN
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js
new file mode 100644
index 000000000..082d61fbc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-172",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is positive number (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: 123
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js
new file mode 100644
index 000000000..06f7ef890
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-173",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is negative number (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: -123
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js
new file mode 100644
index 000000000..daf8c9a6e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-174",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is empty string (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: ""
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js
new file mode 100644
index 000000000..c7637072c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-175",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is non-empty string (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: "abc"
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js
new file mode 100644
index 000000000..7164c4f17
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-176",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is Function object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: function () { }
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js
new file mode 100644
index 000000000..ee86e485b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-177",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is Array object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: []
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js
new file mode 100644
index 000000000..a4e3f1690
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-178",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is String object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: new String("abc")
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js
new file mode 100644
index 000000000..a6c2695db
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-179",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is Boolean object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: new Boolean(true)
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js
new file mode 100644
index 000000000..0244d931a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-18",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ var accessed = false;
+
+ Object.defineProperty(proto, "enumerable", {
+ set: function () { }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js
new file mode 100644
index 000000000..fce18a379
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-180",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is Number object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: new Number(123)
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js
new file mode 100644
index 000000000..a05cae407
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-181",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is the Math object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: Math
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js
new file mode 100644
index 000000000..decc3560b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-182",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is Date object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: new Date()
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js
new file mode 100644
index 000000000..8c0c9eb0d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-183",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is RegExp object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: new RegExp()
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js
new file mode 100644
index 000000000..b82179192
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-184",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is the JSON object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: JSON
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js
new file mode 100644
index 000000000..a2382643b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-185",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is Error object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: new SyntaxError()
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js
new file mode 100644
index 000000000..cd1f2c7d8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-186",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is the Argument object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b, c) {
+ return arguments;
+ };
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: func(1, true, "a")
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js
new file mode 100644
index 000000000..ade49b5fc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-188",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is the global object (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: fnGlobalObject()
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js
new file mode 100644
index 000000000..306069d1e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-189",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: "false"
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js
new file mode 100644
index 000000000..6fb96c16a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-19",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js",
+
+ description: "Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var descObj = function () { };
+ var accessed = false;
+
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js
new file mode 100644
index 000000000..552bab1eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-190",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js",
+
+ description: "Object.defineProperties - value of 'writable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 6.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ writable: new Boolean(false)
+ }
+ });
+
+ obj.property = "isWritable";
+
+ return obj.property === "isWritable";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js
new file mode 100644
index 000000000..249f74c78
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-191",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is present (8.10.5 step 7)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var getter = function () {
+ return "present";
+ };
+
+ Object.defineProperties(obj, {
+ property: {
+ get: getter
+ }
+ });
+
+ return obj.property === "present";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js
new file mode 100644
index 000000000..3f7e83ef6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-192",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is not present (8.10.5 step 7)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var setter = function () { };
+
+ Object.defineProperties(obj, {
+ property: {
+ set: setter
+ }
+ });
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js
new file mode 100644
index 000000000..3341c275e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-193",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own data property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var getter = function () {
+ return "ownDataProperty";
+ };
+
+ Object.defineProperties(obj, {
+ property: {
+ get: getter
+ }
+ });
+
+ return obj.property === "ownDataProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js
new file mode 100644
index 000000000..692f1d17a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-194",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is inherited data property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var getter = function () {
+ return "inheritedDataProperty";
+ };
+
+ var proto = {
+ get: getter
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "inheritedDataProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js
new file mode 100644
index 000000000..49ba695ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-195",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var getter = function () {
+ return "inheritedDataProperty";
+ };
+
+ var proto = {
+ get: getter
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ descObj.get = function () {
+ return "ownDataProperty";
+ };
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownDataProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js
new file mode 100644
index 000000000..a56fb05df
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-196",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return function () {
+ return "inheritedAccessorProperty";
+ };
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "get", {
+ value: function () {
+ return "ownDataProperty";
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownDataProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js
new file mode 100644
index 000000000..b7ed10b4c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-197",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own accessor property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = {};
+
+ Object.defineProperty(descObj, "get", {
+ get: function () {
+ return function () {
+ return "ownAccessorProperty";
+ };
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownAccessorProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js
new file mode 100644
index 000000000..c2c2ba0ce
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-198",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is inherited accessor property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return function () {
+ return "inheritedAccessorProperty";
+ };
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "inheritedAccessorProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js
new file mode 100644
index 000000000..9837d2b27
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-199",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {
+ get: function () {
+ return "inheritedDataProperty";
+ }
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "get", {
+ get: function () {
+ return function () {
+ return "ownAccessorProperty";
+ };
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownAccessorProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js
new file mode 100644
index 000000000..c6f181bc8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js",
+
+ description: "Object.defineProperties - 'descObj' is null (8.10.5 step 1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: null
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && !obj.hasOwnProperty("prop"); ;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js
new file mode 100644
index 000000000..fc16c2197
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-20",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js",
+
+ description: "Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+ var descObj = [];
+
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js
new file mode 100644
index 000000000..eaf1b7f75
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-200",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return function () {
+ return "inheritedAccessorProperty";
+ };
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "get", {
+ get: function () {
+ return function () {
+ return "ownAccessorProperty";
+ };
+ }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "ownAccessorProperty";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js
new file mode 100644
index 000000000..b5d90c6a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-201",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = {};
+
+ Object.defineProperty(descObj, "get", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js
new file mode 100644
index 000000000..11768aabb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-202",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return function () {
+ return "inheritedAccessorProperty";
+ };
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "get", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js
new file mode 100644
index 000000000..6601bb9c7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-203",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js",
+
+ description: "Object.defineProperties - 'get' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "get", {
+ set: function () { }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return typeof (obj.property) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js
new file mode 100644
index 000000000..6af33b932
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-204",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js",
+
+ description: "Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b) {
+ return a + b;
+ };
+
+ func.get = function () {
+ return "Function";
+ };
+
+ Object.defineProperties(obj, {
+ property: func
+ });
+
+ return obj.property === "Function";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js
new file mode 100644
index 000000000..23e4d08b6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-205",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js",
+
+ description: "Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var arr = [];
+
+ arr.get = function () {
+ return "Array";
+ };
+
+ Object.defineProperties(obj, {
+ property: arr
+ });
+
+ return obj.property === "Array";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js
new file mode 100644
index 000000000..ed0d0ab0f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-206",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js",
+
+ description: "Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var str = new String("abc");
+
+ str.get = function () {
+ return "string Object";
+ };
+
+ Object.defineProperties(obj, {
+ property: str
+ });
+
+ return obj.property === "string Object";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js
new file mode 100644
index 000000000..c12a12039
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-207",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js",
+
+ description: "Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Boolean(false);
+
+ descObj.get = function () {
+ return "Boolean";
+ };
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Boolean";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js
new file mode 100644
index 000000000..ee279d669
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-208",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js",
+
+ description: "Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Number(-9);
+
+ descObj.get = function () {
+ return "Number";
+ };
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Number";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js
new file mode 100644
index 000000000..5da516f6e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-209",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js",
+
+ description: "Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Math.get = function () {
+ return "Math";
+ };
+
+ Object.defineProperties(obj, {
+ property: Math
+ });
+
+ return obj.property === "Math";
+ } finally {
+ delete Math.get;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js
new file mode 100644
index 000000000..9d692e6ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-21",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js",
+
+ description: "Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var descObj = new String();
+ var accessed = false;
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js
new file mode 100644
index 000000000..5583970eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-210",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js",
+
+ description: "Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Date();
+
+ descObj.get = function () {
+ return "Date";
+ };
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Date";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js
new file mode 100644
index 000000000..bacb45478
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-211",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js",
+
+ description: "Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new RegExp();
+
+ descObj.get = function () {
+ return "RegExp";
+ };
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "RegExp";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js
new file mode 100644
index 000000000..432693482
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-212",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js",
+
+ description: "Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ JSON.get = function () {
+ return "JSON";
+ };
+
+ Object.defineProperties(obj, {
+ property: JSON
+ });
+
+ return obj.property === "JSON";
+ } finally {
+ delete JSON.get;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js
new file mode 100644
index 000000000..6109d587b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-213",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js",
+
+ description: "Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var descObj = new Error();
+
+ descObj.get = function () {
+ return "Error";
+ };
+
+ Object.defineProperties(obj, {
+ property: descObj
+ });
+
+ return obj.property === "Error";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js
new file mode 100644
index 000000000..ae872f1e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-214",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js",
+
+ description: "Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var func = function (a, b) {
+ arguments.get = function () {
+ return "arguments";
+ };
+
+ Object.defineProperties(obj, {
+ property: arguments
+ });
+
+ return obj.property === "arguments";
+ };
+
+ return func();
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js
new file mode 100644
index 000000000..3cbf55738
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-216",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js",
+
+ description: "Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ fnGlobalObject().get = function () {
+ return "global";
+ };
+
+ Object.defineProperties(obj, {
+ property: fnGlobalObject()
+ });
+
+ return obj.property === "global";
+ } finally {
+ delete fnGlobalObject().get;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js
new file mode 100644
index 000000000..6a25ff289
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-217",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js",
+
+ description: "Object.defineProperties - value of 'get' property of 'descObj' is undefined (8.10.5 step 7.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ get: undefined
+ }
+ });
+
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js
new file mode 100644
index 000000000..68ae80c96
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-218",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js",
+
+ description: "Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is null) (8.10.5 step 7.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ property: {
+ get: null
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js
new file mode 100644
index 000000000..6ef141fb9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-219",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js",
+
+ description: "Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is boolean) (8.10.5 step 7.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ property: {
+ get: false
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js
new file mode 100644
index 000000000..81b8793d1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-22",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js",
+
+ description: "Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var descObj = new Boolean(false);
+ var accessed = false;
+
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js
new file mode 100644
index 000000000..f64561475
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-220",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js",
+
+ description: "Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is number) (8.10.5 step 7.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ property: {
+ get: 123
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js
new file mode 100644
index 000000000..2fd032ec2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-221",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js",
+
+ description: "Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is string) (8.10.5 step 7.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ property: {
+ get: "string"
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js
new file mode 100644
index 000000000..855be8f58
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-222",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js",
+
+ description: "Object.defineProperties - value of 'get' property of 'descObj' is applied to Array object (8.10.5 step 7.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ property: {
+ get: []
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js
new file mode 100644
index 000000000..ae10dad75
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-223",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js",
+
+ description: "Object.defineProperties - value of 'get' property of 'descObj' is a function (8.10.5 step 7.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ var getter = function () {
+ return 100;
+ };
+
+ Object.defineProperties(obj, {
+ property: {
+ get: getter
+ }
+ });
+
+ return obj.property === 100;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js
new file mode 100644
index 000000000..1de951ee9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-226",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is present (8.10.5 step 8)",
+
+ test: function testcase() {
+ var data = "data";
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ "prop": {
+ set: function (value) {
+ data = value;
+ }
+ }
+ });
+
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data === "overrideData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js
new file mode 100644
index 000000000..2b540756d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-227",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is not present (8.10.5 step 8)",
+
+ test: function testcase() {
+ var data = "data";
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ descObj: {
+ get: function () {
+ return data;
+ }
+ }
+ });
+
+
+ obj.descObj = "overrideData";
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "descObj");
+ return obj.hasOwnProperty("descObj") && typeof (desc.set) === "undefined" && data === "data";
+ } catch (e) {
+ return false;
+ }
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js
new file mode 100644
index 000000000..5a07064d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-228",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own data property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data = "data";
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ descObj: {
+ set: function (value) {
+ data = value;
+ }
+ }
+ });
+
+ obj.descObj = "overrideData";
+
+ return obj.hasOwnProperty("descObj") && data === "overrideData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js
new file mode 100644
index 000000000..68bd3dfd3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-229",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is inherited data property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data = "data";
+ var proto = {
+ set: function (value) {
+ data = value;
+ }
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: child
+ });
+
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data === "overrideData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js
new file mode 100644
index 000000000..e3a5cbad6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-23",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js",
+
+ description: "Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var descObj = new Number(-9);
+ var accessed = false;
+
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js
new file mode 100644
index 000000000..0fbb5d5d6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-230",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data1 = "data";
+ var data2 = "data";
+ var proto = {
+ set: function (value) {
+ data2 = value;
+ }
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.set = function (value) {
+ data1 = value;
+ };
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: child
+ });
+
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data1 === "overrideData" && data2 === "data";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js
new file mode 100644
index 000000000..909dd0376
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js
@@ -0,0 +1,67 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-231",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data1 = "data";
+ var data2 = "data";
+ var fun = function (value) {
+ data2 = value;
+ };
+ var proto = {};
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return fun;
+ },
+ set: function (value) {
+ fun = value;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ child.set = function (value) {
+ data1 = value;
+ };
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: child
+ });
+
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data1 === "overrideData" && data2 === "data";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js
new file mode 100644
index 000000000..9d484c8fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-232",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own accessor property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data = "data";
+ var setFun = function (value) {
+ data = value;
+ };
+ var descObj = {};
+ Object.defineProperty(descObj, "set", {
+ get: function () {
+ return setFun;
+ }
+ });
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data === "overrideData";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js
new file mode 100644
index 000000000..315eade16
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-233",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is inherited accessor property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data = "data";
+ var setFun = function (value) {
+ data = value;
+ };
+ var proto = {};
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return setFun;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: child
+ });
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data === "overrideData";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js
new file mode 100644
index 000000000..5d43750c2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-234",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data1 = "data";
+ var data2 = "data";
+
+ var proto = {};
+ proto.set = function (value) {
+ data1 = value;
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "set", {
+ get: function () {
+ return function (value) {
+ data2 = value;
+ };
+ }
+ });
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: child
+ });
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data2 === "overrideData" && data1 === "data";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js
new file mode 100644
index 000000000..84b574671
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-235",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data1 = "data";
+ var data2 = "data";
+
+ var proto = {};
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return function (value) {
+ data1 = value;
+ };
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "set", {
+ get: function () {
+ return function (value) {
+ data2 = value;
+ };
+ }
+ });
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: child
+ });
+
+ obj.prop = "overrideData";
+
+ return obj.hasOwnProperty("prop") && data2 === "overrideData" && data1 === "data";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js
new file mode 100644
index 000000000..22b372df6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-236",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var fun = function () {
+ return 10;
+ };
+ var descObj = {
+ get: fun
+ };
+ Object.defineProperty(descObj, "set", {
+ set: function () { }
+ });
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && typeof desc.set === "undefined" && obj.prop === 10;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js
new file mode 100644
index 000000000..6e5c08bbf
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js
@@ -0,0 +1,67 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-237",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var fun = function () {
+ return 10;
+ };
+ var proto = {};
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return function () {
+ return arguments;
+ };
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+ Object.defineProperty(descObj, "set", {
+ set: function () { }
+ });
+
+ descObj.get = fun;
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && typeof (desc.set) === "undefined" && obj.prop === 10;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js
new file mode 100644
index 000000000..4a8f3651b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-238",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js",
+
+ description: "Object.defineProperties - 'set' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var fun = function () {
+ return 10;
+ };
+ var proto = {};
+ Object.defineProperty(proto, "set", {
+ set: function () { }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var descObj = new Con();
+ descObj.get = fun;
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && typeof (desc.set) === "undefined" && obj.prop === 10;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js
new file mode 100644
index 000000000..a5bea913c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-239",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js",
+
+ description: "Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data = "data";
+ var descFun = function () { };
+ var setFun = function (value) {
+ data = value;
+ };
+
+ descFun.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, descFun);
+ obj.prop = "funData";
+ return obj.hasOwnProperty("prop") && data === "funData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js
new file mode 100644
index 000000000..3d46d45de
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-24",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js",
+
+ description: "Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ try {
+ Math.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: Math
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ } finally {
+ delete Math.enumerable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js
new file mode 100644
index 000000000..8018d60f1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-240",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js",
+
+ description: "Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var arr = [];
+ var setFun = function (value) {
+ data = value;
+ };
+ arr.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, arr);
+ obj.prop = "arrData";
+ return obj.hasOwnProperty("prop") && data === "arrData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js
new file mode 100644
index 000000000..1a12c8719
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-241",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js",
+
+ description: "Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data = "data";
+ var descStr = new String();
+ var setFun = function (value) {
+ data = value;
+ };
+
+ descStr.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, descStr);
+ obj.prop = "strData";
+ return obj.hasOwnProperty("prop") && data === "strData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js
new file mode 100644
index 000000000..ca2dc0e2f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-242",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js",
+
+ description: "Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var descObj = new Boolean(false);
+ var setFun = function (value) {
+ data = value;
+ };
+ descObj.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, descObj);
+ obj.prop = "booleanData";
+ return obj.hasOwnProperty("prop") && data === "booleanData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js
new file mode 100644
index 000000000..a208213b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-243",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js",
+
+ description: "Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var descObj = new Number(-9);
+ var setFun = function (value) {
+ data = value;
+ };
+ descObj.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, descObj);
+ obj.prop = "numberData";
+ return obj.hasOwnProperty("prop") && data === "numberData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js
new file mode 100644
index 000000000..2381a899a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-244",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js",
+
+ description: "Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var setFun = function (value) {
+ data = value;
+ };
+ try {
+ Math.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, Math);
+ obj.prop = "mathData";
+ return obj.hasOwnProperty("prop") && data === "mathData";
+ } finally {
+ delete Math.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js
new file mode 100644
index 000000000..87479a5ae
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-245",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js",
+
+ description: "Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var descObj = new Date();
+ var setFun = function (value) {
+ data = value;
+ };
+ descObj.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, descObj);
+ obj.prop = "dateData";
+ return obj.hasOwnProperty("prop") && data === "dateData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js
new file mode 100644
index 000000000..3dfd4ab56
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-246",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js",
+
+ description: "Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var descObj = new RegExp();
+ var setFun = function (value) {
+ data = value;
+ };
+ descObj.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, descObj);
+ obj.prop = "regExpData";
+ return obj.hasOwnProperty("prop") && data === "regExpData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js
new file mode 100644
index 000000000..e6959da9a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-247",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js",
+
+ description: "Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var setFun = function (value) {
+ data = value;
+ };
+ try {
+ JSON.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, JSON);
+ obj.prop = "JSONData";
+ return obj.hasOwnProperty("prop") && data === "JSONData";
+ } finally {
+ delete JSON.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js
new file mode 100644
index 000000000..2030cccda
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-248",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js",
+
+ description: "Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var descObj = new Error("test");
+ descObj.description = { value: 11 };
+ descObj.message = { value: 11 };
+ descObj.name = { value: 11 };
+
+ var setFun = function (value) {
+ data = value;
+ };
+ descObj.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, descObj);
+ obj.prop = "errorData";
+ return obj.hasOwnProperty("prop") && data === "errorData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js
new file mode 100644
index 000000000..c51bb3d39
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-249",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js",
+
+ description: "Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)",
+
+ test: function testcase() {
+ var data = "data";
+ var fun = function () {
+ return arguments;
+ };
+ var arg = fun();
+ var setFun = function (value) {
+ data = value;
+ };
+
+ arg.prop = {
+ set: setFun
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, arg);
+ obj.prop = "argData";
+ return obj.hasOwnProperty("prop") && data === "argData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js
new file mode 100644
index 000000000..18d3597e4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-25",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js",
+
+ description: "Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var descObj = new Date();
+ var accessed = false;
+
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js
new file mode 100644
index 000000000..79e68cd95
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-252",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js",
+
+ description: "Object.defineProperties - value of 'set' property of 'descObj' is undefined (8.10.5 step 8.b)",
+
+ test: function testcase() {
+
+ var getFun = function () {
+ return 11;
+ };
+
+ var obj = {};
+ Object.defineProperties(obj, {
+ prop: {
+ get: getFun,
+ set: undefined
+ }
+ });
+
+ try {
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ return obj.hasOwnProperty("prop") && typeof (desc.set) === "undefined";
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js
new file mode 100644
index 000000000..982bb434d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-253",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js",
+
+ description: "Object.defineProperties - value of 'set' property of 'descObj' is primitive values null (8.10.5 step 8.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ set: null
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js
new file mode 100644
index 000000000..7622b837a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-254",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js",
+
+ description: "Object.defineProperties - value of 'set' property of 'descObj' is primitive values boolean (8.10.5 step 8.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ set: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js
new file mode 100644
index 000000000..a94c16915
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-255",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js",
+
+ description: "Object.defineProperties - value of 'set' property of 'descObj' is primitive values number (8.10.5 step 8.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ set: 100
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js
new file mode 100644
index 000000000..269949fd4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-256",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js",
+
+ description: "Object.defineProperties - value of 'set' property of 'descObj' is primitive values string (8.10.5 step 8.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ set: "abcdef"
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js
new file mode 100644
index 000000000..774116709
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-257",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js",
+
+ description: "Object.defineProperties - value of 'set' property of 'descObj' is an interesting object other than a function (8.10.5 step 8.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ set: []
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js
new file mode 100644
index 000000000..10a95a802
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-258",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js",
+
+ description: "Object.defineProperties - value of 'set' property of 'descObj' is a function (8.10.5 step 8.b)",
+
+ test: function testcase() {
+
+ var data = "data";
+ var setFun = function (value) {
+ data = value;
+ };
+ var obj = {};
+
+
+ Object.defineProperties(obj, {
+ prop: {
+ set: setFun
+ }
+ });
+ obj.prop = "funData";
+ return obj.hasOwnProperty("prop") && data === "funData";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js
new file mode 100644
index 000000000..9586c1e08
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-26",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js",
+
+ description: "Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var descObj = new RegExp();
+ var accessed = false;
+
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js
new file mode 100644
index 000000000..93a7ac8c5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-261",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js",
+
+ description: "Object.defineProperties - TypeError is thrown if both 'set' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)",
+
+ test: function testcase() {
+
+ var setFun = function () {};
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ set: setFun
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js
new file mode 100644
index 000000000..3b360dc3d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-262",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js",
+
+ description: "Object.defineProperties - TypeError is thrown if both 'set' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)",
+
+ test: function testcase() {
+
+ var setFun = function () { };
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ writable: true,
+ set: setFun
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js
new file mode 100644
index 000000000..32df5bf8d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-263",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js",
+
+ description: "Object.defineProperties - TypeError is thrown if both 'get' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)",
+
+ test: function testcase() {
+
+ var getFun = function () {};
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ get: getFun
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js
new file mode 100644
index 000000000..63b307662
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-264",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js",
+
+ description: "Object.defineProperties - TypeError is thrown if both 'get' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)",
+
+ test: function testcase() {
+
+ var getFun = function () {};
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ "prop": {
+ writable: true,
+ get: getFun
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js
new file mode 100644
index 000000000..09e679fc7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-27",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js",
+
+ description: "Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ try {
+ JSON.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: JSON
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ } finally {
+ delete JSON.enumerable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js
new file mode 100644
index 000000000..65a8c19df
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-28",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js",
+
+ description: "Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var descObj = new Error();
+ var accessed = false;
+
+ descObj.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js
new file mode 100644
index 000000000..f6e8c0eba
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-29",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js",
+
+ description: "Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var arg;
+ var accessed = false;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ arg.enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: arg
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js
new file mode 100644
index 000000000..296ffd8dd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js",
+
+ description: "Object.defineProperties - 'descObj' is a boolean (8.10.5 step 1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && !obj.hasOwnProperty("prop");
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js
new file mode 100644
index 000000000..8c1a30bfa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-31",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js",
+
+ description: "Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ try {
+ fnGlobalObject().enumerable = true;
+
+ Object.defineProperties(obj, {
+ prop: fnGlobalObject()
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ } finally {
+ delete fnGlobalObject().enumerable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js
new file mode 100644
index 000000000..348ff10da
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-32",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is undefined (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: undefined
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js
new file mode 100644
index 000000000..00b58cb5f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-33",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is null (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: null
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js
new file mode 100644
index 000000000..65b4aa5e3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-34",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is true (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: true
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js
new file mode 100644
index 000000000..a31c9d523
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-35",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is false (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: false
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js
new file mode 100644
index 000000000..d6ba55cf5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-36",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is 0 (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: 0
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js
new file mode 100644
index 000000000..13980b5d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-37",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is +0 (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: +0
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js
new file mode 100644
index 000000000..e07042930
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-38",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is -0 (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: -0
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js
new file mode 100644
index 000000000..288e2fa34
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-39",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is NaN (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: NaN
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js
new file mode 100644
index 000000000..297f330e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js",
+
+ description: "Object.defineProperties - 'descObj' is a number (8.10.5 step 1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: 12
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && !obj.hasOwnProperty("prop");
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js
new file mode 100644
index 000000000..5282138d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-40",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is positive number (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: 12
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js
new file mode 100644
index 000000000..dd4ee3a0e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-41",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is negative number (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: -9
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js
new file mode 100644
index 000000000..aa26c5ba1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-42",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is empty string (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: ""
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js
new file mode 100644
index 000000000..b4d29e744
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-43",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is non-empty string (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: "AB\n\\cd"
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js
new file mode 100644
index 000000000..0aedf5872
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-44",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is a Function object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: function () { }
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js
new file mode 100644
index 000000000..8e50da5a4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-45",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is an Array object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: []
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js
new file mode 100644
index 000000000..66d2358b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-46",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is a String object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: new String()
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js
new file mode 100644
index 000000000..65702245e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-47",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is a Boolean object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: new Boolean(true)
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js
new file mode 100644
index 000000000..15d9f37b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-48",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is a Number object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: new Number(-9)
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js
new file mode 100644
index 000000000..4e3140b14
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-49",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is the Math object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: Math
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js
new file mode 100644
index 000000000..a3717b7e4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-5",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js",
+
+ description: "Object.defineProperties - 'descObj' is a string (8.10.5 step 1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperties(obj, {
+ prop: "abc"
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && !obj.hasOwnProperty("prop");
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js
new file mode 100644
index 000000000..7e01ce259
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-50",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is a Date object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: new Date()
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js
new file mode 100644
index 000000000..513b45ca5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-51",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is a RegExp object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: new RegExp()
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js
new file mode 100644
index 000000000..4713e6b5c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-52",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is the JSON object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: JSON
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js
new file mode 100644
index 000000000..b86ee88e5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-53",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is an Error object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: new Error()
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js
new file mode 100644
index 000000000..f4fdf1b68
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-54",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is the Arguments object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }(1, 2, 3));
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: arg
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js
new file mode 100644
index 000000000..2b037cdb5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-56",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is the global object (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: fnGlobalObject()
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js
new file mode 100644
index 000000000..606c87abc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-57",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: "false"
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js
new file mode 100644
index 000000000..eb70c1274
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-58",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js",
+
+ description: "Object.defineProperties - value of 'enumerable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: new Boolean(false)
+ }
+ });
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js
new file mode 100644
index 000000000..d81e66c88
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-59",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is present (8.10.5 step 4)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: {
+ configurable: true
+ }
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js
new file mode 100644
index 000000000..0f4d947dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-6",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is present (8.10.5 step 3)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {
+ enumerable: true
+ }
+ });
+
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js
new file mode 100644
index 000000000..e608e9d81
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-60",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is not present (8.10.5 step 4)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: {}
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js
new file mode 100644
index 000000000..afef868dd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-61",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own data property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: {
+ configurable: true
+ }
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js
new file mode 100644
index 000000000..63ea71681
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-62",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is inherited data property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {
+ configurable: true
+ };
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js
new file mode 100644
index 000000000..58377238b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-63",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {
+ configurable: true
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "configurable", {
+ value: false
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js
new file mode 100644
index 000000000..de44c36ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-64",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "configurable", {
+ value: false
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js
new file mode 100644
index 000000000..a8d84ef75
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-65",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own accessor property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = {};
+ Object.defineProperty(descObj, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js
new file mode 100644
index 000000000..f8d64f82e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-66",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js
new file mode 100644
index 000000000..133a8198d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-67",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {
+ configurable: true
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "configurable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js
new file mode 100644
index 000000000..28700c975
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-68",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "configurable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js
new file mode 100644
index 000000000..ba1b432f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-69",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = {};
+ Object.defineProperty(descObj, "configurable", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js
new file mode 100644
index 000000000..dee900fec
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-7",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is not present (8.10.5 step 3)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperties(obj, {
+ prop: {}
+ });
+
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js
new file mode 100644
index 000000000..27b5a41f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-70",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperty(descObj, "configurable", {
+ set: function () { }
+ });
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js
new file mode 100644
index 000000000..fb1da9944
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-71",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js",
+
+ description: "Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var proto = {};
+
+ Object.defineProperty(proto, "configurable", {
+ set: function () { }
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js
new file mode 100644
index 000000000..124753f79
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-72",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js",
+
+ description: "Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = function () { };
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js
new file mode 100644
index 000000000..dbdbbb864
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-73",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js",
+
+ description: "Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = [];
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js
new file mode 100644
index 000000000..6e66842d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-74",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js",
+
+ description: "Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = new String();
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js
new file mode 100644
index 000000000..b6eb45ff7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-75",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js",
+
+ description: "Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = new Boolean(false);
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js
new file mode 100644
index 000000000..6e586846c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-76",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js",
+
+ description: "Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = new Number(-9);
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js
new file mode 100644
index 000000000..5770174ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-77",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js",
+
+ description: "Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ Math.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: Math
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ } finally {
+ delete Math.configurable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js
new file mode 100644
index 000000000..63e313728
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-78",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js",
+
+ description: "Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = new Date();
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js
new file mode 100644
index 000000000..c4268ac17
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-79",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js",
+
+ description: "Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = new RegExp();
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js
new file mode 100644
index 000000000..5eeb00512
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-8",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is own data property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ var descObj = { enumerable: true };
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js
new file mode 100644
index 000000000..364902ac9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-80",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js",
+
+ description: "Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ JSON.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: JSON
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ } finally {
+ delete JSON.configurable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js
new file mode 100644
index 000000000..c64e8b2b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-81",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js",
+
+ description: "Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var descObj = new Error();
+ descObj.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js
new file mode 100644
index 000000000..bd5a720fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-82",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js",
+
+ description: "Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var arg;
+ (function fun() {
+ arg = arguments;
+ }());
+
+ arg.configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: arg
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js
new file mode 100644
index 000000000..9e7e5e325
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-84",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js",
+
+ description: "Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ try {
+ fnGlobalObject().configurable = true;
+
+ Object.defineProperties(obj, {
+ prop: fnGlobalObject()
+ });
+
+ var result1 = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var result2 = obj.hasOwnProperty("prop");
+
+ return result1 === true && result2 === false;
+ } finally {
+ delete fnGlobalObject().configurable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js
new file mode 100644
index 000000000..fc16b5613
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-85",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is undefined (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: undefined
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js
new file mode 100644
index 000000000..64cff1560
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-86",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is null (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: null
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js
new file mode 100644
index 000000000..590f26f4c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-87",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is true (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: true
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return !obj.hasOwnProperty("property") && hadOwnProperty;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js
new file mode 100644
index 000000000..e6ecd6b42
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-88",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is false (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: false
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js
new file mode 100644
index 000000000..ed72e05f7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-89",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is 0 (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: 0
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js
new file mode 100644
index 000000000..d7e2d4740
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-9",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js",
+
+ description: "Object.defineProperties - 'enumerable' property of 'descObj' is inherited data property (8.10.5 step 3.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ var proto = {
+ enumerable: true
+ };
+ var Con = function () { };
+ Con.prototype = proto;
+ var descObj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: descObj
+ });
+
+ for (var property in obj) {
+ if (property === "prop") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js
new file mode 100644
index 000000000..5ca3cc8cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-90",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is +0 (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: +0
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js
new file mode 100644
index 000000000..64f2dce3a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-91",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is -0 (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: -0
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js
new file mode 100644
index 000000000..01a777907
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-92",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is NaN (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: NaN
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js
new file mode 100644
index 000000000..ac5970639
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-93",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is positive number (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: 123
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return !obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js
new file mode 100644
index 000000000..6dc5b8adc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-94",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is negative number (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: -123
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return !obj.hasOwnProperty("property") && hadOwnProperty;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js
new file mode 100644
index 000000000..70ffdd103
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-95",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is empty string (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: ""
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js
new file mode 100644
index 000000000..dd8668cb5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-96",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is non-empty string (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: "abc"
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return !obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js
new file mode 100644
index 000000000..9be73f0d7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-97",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is Function object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: function () { }
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return !obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js
new file mode 100644
index 000000000..d4c064ef4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-98",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is Array object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: [1, 2, 3]
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return !obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js
new file mode 100644
index 000000000..661f4a2e9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-5-b-99",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js",
+
+ description: "Object.defineProperties - value of 'configurable' property of 'descObj' is String object (8.10.5 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ property: {
+ configurable: new String("abc")
+ }
+ });
+
+ var hadOwnProperty = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ return !obj.hasOwnProperty("property") && hadOwnProperty;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js
new file mode 100644
index 000000000..a8ede3650
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js",
+
+ description: "Object.defineProperties - 'P' is own existing data property (8.12.9 step 1 )",
+
+ test: function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js
new file mode 100644
index 000000000..262123750
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-10",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js",
+
+ description: "Object.defineProperties - 'P' is own accessor property without a get function that overrides an inherited accessor property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ get: function () {
+ return 11;
+ },
+ set: function () { },
+ configurable: true
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+ Object.defineProperty(obj, "prop", {
+ set: function () { },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js
new file mode 100644
index 000000000..57a2cab70
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-100",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js",
+
+ description: "Object.defineProperties - 'P' is data property, several attributes values of P and properties are different (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 100,
+ writable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 200,
+ writable: false,
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js
new file mode 100644
index 000000000..35e19342e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-101",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, both properties.[[Get]] and P.[[Get]] are two different values (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ function get_func2() {
+ return 20;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func2
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func2, set_func, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js
new file mode 100644
index 000000000..f5a9a5d8d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-102",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, P.[[Get]] is present and properties.[[Get]] is undefined (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: undefined
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js
new file mode 100644
index 000000000..bccbaac3e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-103",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, P.[[Get]] is undefined and properties.[[Get]] is normal value (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: undefined,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ function get_func() {
+ return 10;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js
new file mode 100644
index 000000000..5601c1c46
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-104",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, both properties.[[Set]] and P.[[Set]] are two different values (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+
+ function set_func() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ function set_func2(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_func2
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func2, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js
new file mode 100644
index 000000000..4d4ba5aad
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js
@@ -0,0 +1,75 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-105",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, P.[[Set]] is present and properties.[[Set]] is undefined (8.12.9 step 12)",
+
+ test: function testcase() {
+ var obj = {};
+ function get_func() {
+ return 10;
+ }
+ function set_func() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "property", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ property: {
+ set: undefined
+ }
+ });
+
+ var hasProperty = obj.hasOwnProperty("property");
+ var verifyGet = false;
+ verifyGet = (obj.property === 10);
+
+ var verifySet = false;
+ var desc = Object.getOwnPropertyDescriptor(obj, "property");
+ verifySet = (typeof desc.set === 'undefined');
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "property") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyConfigurable = false;
+ delete obj.property;
+ verifyConfigurable = obj.hasOwnProperty("property");
+
+ return hasProperty && verifyGet && verifySet && verifyEnumerable && !verifyConfigurable;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js
new file mode 100644
index 000000000..47039f538
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-106",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, P.[[Set]] is undefined and properties.[[Set]] is normal value (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_func
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js
new file mode 100644
index 000000000..1a0cd05e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-107",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ enumerable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js
new file mode 100644
index 000000000..cd8cd63f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-108",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, P.configurable is true and properties.configurable is false",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ configurable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js
new file mode 100644
index 000000000..1b4983133
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-109",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js",
+
+ description: "Object.defineProperties - 'P' is accessor property, several attributes values of P and properties are different (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func1() {
+ return 10;
+ }
+ function set_func1() { }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func1,
+ set: set_func1,
+ configurable: true
+ });
+
+ function get_func2() {
+ return 20;
+ }
+ function set_func2(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func2,
+ set: set_func2,
+ configurable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func2, set_func2, "setVerifyHelpProp", false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js
new file mode 100644
index 000000000..48125cc19
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-11",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js",
+
+ description: "Object.defineProperties - 'P' is inherited accessor property without a get function (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ set: function () { },
+ configurable: false
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ }
+ });
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js
new file mode 100644
index 000000000..3fced636d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-110",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js",
+
+ description: "Object.defineProperties - all own properties (data property and accessor property)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ var properties = {
+ foo1: {
+ value: 200,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ },
+ foo2: {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ }
+ };
+
+ Object.defineProperties(obj, properties);
+ return dataPropertyAttributesAreCorrect(obj, "foo1", 200, true, true, true) && accessorPropertyAttributesAreCorrect(obj, "foo2", get_func, set_func, "setVerifyHelpProp", true, true);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js
new file mode 100644
index 000000000..e91555655
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js
@@ -0,0 +1,67 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-111",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js",
+
+ description: "Object.defineProperties - each properties are in list order",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 20;
+ }
+
+ function set_func() { }
+
+ var properties = {
+ a: {
+ value: 100,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ },
+ b: {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ },
+ c: {
+ value: 200,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ }
+ };
+
+ Object.defineProperties(obj, properties);
+ return (obj["a"] === 100 && obj["b"] === 20 && obj["c"] === 200);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js
new file mode 100644
index 000000000..df3ce270c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-112",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js",
+
+ description: "Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+ Object.defineProperty(arr, "1", {
+ value: 1,
+ configurable: false
+ });
+ try {
+
+ Object.defineProperties(arr, {
+ length: { value: 1 }
+ });
+ return false;
+ } catch (ex) {
+ var desc = Object.getOwnPropertyDescriptor(arr, "length");
+
+ return ex instanceof TypeError && desc.value === 2 &&
+ desc.writable && !desc.enumerable && !desc.configurable;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js
new file mode 100644
index 000000000..88737367e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-113",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js",
+
+ description: "Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property that overrides an inherited data property (15.4.5.1 step 1)",
+
+ test: function testcase() {
+
+ var arrProtoLen;
+ var arr = [0, 1, 2];
+ try {
+ arrProtoLen = Array.prototype.length;
+ Array.prototype.length = 0;
+
+ Object.defineProperty(arr, "2", {
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ length: { value: 1 }
+ });
+ return false;
+ } catch (e) {
+ var desc = Object.getOwnPropertyDescriptor(arr, "length");
+
+ return e instanceof TypeError && desc.value === 3 &&
+ desc.writable && !desc.enumerable && !desc.configurable;
+ } finally {
+ Array.prototype.length = arrProtoLen;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js
new file mode 100644
index 000000000..b7cecbe26
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-114",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is absent (15.4.5.1 step 3.a.i)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, { length: {} });
+
+ var verifyValue = false;
+ verifyValue = (arr.length === 0);
+
+ var verifyWritable = false;
+ arr.length = 2;
+ verifyWritable = (arr.length === 2);
+
+ var verifyEnumerable = false;
+ for (var p in arr) {
+ if (p === "length") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyConfigurable = false;
+ delete arr.length;
+ verifyConfigurable = arr.hasOwnProperty("length");
+
+ return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js
new file mode 100644
index 000000000..16bb7896b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js
@@ -0,0 +1,66 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-115",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is same with corresponding attribute value of the length property in 'O' (15.4.5.1 step 3.a.i)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ writable: true,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ var verifyValue = false;
+ verifyValue = (arr.length === 0);
+
+ var verifyWritable = false;
+ arr.length = 2;
+ verifyWritable = (arr.length === 2);
+
+ var verifyEnumerable = false;
+ for (var p in arr) {
+ if (p === "length") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyConfigurable = false;
+ delete arr.length;
+ verifyConfigurable = arr.hasOwnProperty("length");
+
+ return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js
new file mode 100644
index 000000000..e9d0ad9d1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-116",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: { configurable: true }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js
new file mode 100644
index 000000000..b1c24a3fe
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-117",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: { enumerable: true }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js
new file mode 100644
index 000000000..677653b53
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-118",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ get: function () {
+ return 2;
+ }
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js
new file mode 100644
index 000000000..f929a2775
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-119",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ length: { writable: true }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js
new file mode 100644
index 000000000..84dce2133
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-12",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js",
+
+ description: "Object.defineProperties - 'O' is a Function object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var fun = function () { };
+
+ Object.defineProperty(fun, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(fun, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(fun, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js
new file mode 100644
index 000000000..6c9149ea3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-120",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test updating the [[Writable]] attribute of the length property from true to false (15.4.5.1 step 3.a.i)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: { writable: false }
+ });
+
+ return dataPropertyAttributesAreCorrect(arr, "length", 0, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js
new file mode 100644
index 000000000..00c4680f0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-121",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test RangeError is thrown when setting the [[Value]] field of 'desc' to undefined (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: { value: undefined }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js
new file mode 100644
index 000000000..468b634b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-122",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test setting the [[Value]] field of 'desc' to null actuall is set to 0 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: { value: null }
+ });
+ return arr.length === 0;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js
new file mode 100644
index 000000000..fa404f7e9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-123",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value false (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: { value: false }
+ });
+ return arr.length === 0;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js
new file mode 100644
index 000000000..cb5c75c78
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-124",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value true (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: { value: true }
+ });
+ return arr.length === 1;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js
new file mode 100644
index 000000000..5e5f2929f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-125",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: { value: 0 }
+ });
+ return arr.length === 0;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js
new file mode 100644
index 000000000..39890bfd5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-126",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: { value: +0 }
+ });
+ return arr.length === 0;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js
new file mode 100644
index 000000000..caa213db6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-127",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: { value: -0 }
+ });
+ return arr.length === 0;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js
new file mode 100644
index 000000000..33483443b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-128",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is positive number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: { value: 12 }
+ });
+ return arr.length === 12;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js
new file mode 100644
index 000000000..9cf7060b5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-129",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is negative number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: -9
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js
new file mode 100644
index 000000000..25b61a44f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-13",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js",
+
+ description: "Object.defineProperties - 'O' is an Array object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arr, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js
new file mode 100644
index 000000000..a0f2f0cfb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-130",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: +Infinity
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js
new file mode 100644
index 000000000..c7df74852
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-131",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: -Infinity
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js
new file mode 100644
index 000000000..752b5d489
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-132",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: NaN
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js
new file mode 100644
index 000000000..6c84975a3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-133",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: "2"
+ }
+ });
+ return arr.length === 2;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js
new file mode 100644
index 000000000..9e0f6a1d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-134",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: "-42"
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js
new file mode 100644
index 000000000..048574b82
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-135",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: "200.59"
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js
new file mode 100644
index 000000000..1a092deb5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-136",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: "+Infinity"
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js
new file mode 100644
index 000000000..d404c001c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-137",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: "-Infinity"
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js
new file mode 100644
index 000000000..15f4c52ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-138",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an exponential number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: "2E3"
+ }
+ });
+ return arr.length === 2E3;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js
new file mode 100644
index 000000000..36f1d0163
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-139",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an hex number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: "0x00B"
+ }
+ });
+ return arr.length === 0x00B;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js
new file mode 100644
index 000000000..8b988c0cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-14",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js",
+
+ description: "Object.defineProperties - 'O' is a String object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var str = new String();
+
+ Object.defineProperty(str, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(str, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(str, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js
new file mode 100644
index 000000000..d438eeafc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-140",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an leading zero number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: "0002.0"
+ }
+ });
+ return arr.length === 2;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js
new file mode 100644
index 000000000..cd8e6ac96
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-141",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: "two"
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js
new file mode 100644
index 000000000..d098aa8b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-142",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString method (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: {
+ toString: function () {
+ return '2';
+ }
+ }
+ }
+ });
+
+ return arr.length === 2;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js
new file mode 100644
index 000000000..9a4a92732
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-143",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: {
+ valueOf: function () {
+ return 2;
+ }
+ }
+ }
+ });
+ return arr.length === 2;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js
new file mode 100644
index 000000000..8d21efa4d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-144",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method that returns an object and toString method that returns a string (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ Object.defineProperties(arr, {
+ length: {
+ value: {
+ toString: function () {
+ toStringAccessed = true;
+ return '2';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ }
+ });
+ return arr.length === 2 && toStringAccessed && valueOfAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js
new file mode 100644
index 000000000..e1e88a403
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-145",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString and valueOf method (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ Object.defineProperties(arr, {
+ length: {
+ value: {
+ toString: function () {
+ toStringAccessed = true;
+ return '2';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return 3;
+ }
+ }
+ }
+ });
+ return arr.length === 3 && !toStringAccessed && valueOfAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js
new file mode 100644
index 000000000..e480bb992
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-146",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && toStringAccessed && valueOfAccessed;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js
new file mode 100644
index 000000000..3b96b5a9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-147",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test using inherited valueOf method when the [[Value]] field of 'desc' is an Objec with an own toString and inherited valueOf methods (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var proto = {
+ value: {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return 2;
+ }
+ }
+ };
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "value", {
+ value: {
+ toString: function () {
+ toStringAccessed = true;
+ return 3;
+ }
+ }
+ });
+
+ Object.defineProperties(arr, {
+ length: child
+ });
+ return arr.length === 3 && toStringAccessed && !valueOfAccessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js
new file mode 100644
index 000000000..559f90b34
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-148",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is positive non-integer values (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 123.5
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js
new file mode 100644
index 000000000..276ca44a1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-149",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is negative non-integer values (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: -4294967294.5
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js
new file mode 100644
index 000000000..06575e415
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-15",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js",
+
+ description: "Object.defineProperties - 'O' is a Boolean object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ var obj = new Boolean(false);
+
+ Object.defineProperty(obj, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js
new file mode 100644
index 000000000..32de1e7b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-150",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 4294967294
+ }
+ });
+
+ return arr.length === 4294967294;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js
new file mode 100644
index 000000000..c94f8f2eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-151",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 4294967295
+ }
+ });
+
+ return arr.length === 4294967295;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js
new file mode 100644
index 000000000..815794e66
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-152",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 4294967296
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js
new file mode 100644
index 000000000..f166a2182
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-153",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 4294967297
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js
new file mode 100644
index 000000000..4d9723f57
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-155",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is greater than value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)",
+
+ test: function testcase() {
+
+ var arr = [0, , 2];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 5
+ }
+ });
+
+ return arr.length === 5 && arr[0] === 0 && !arr.hasOwnProperty("1") && arr[2] === 2;
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js
new file mode 100644
index 000000000..343b240bd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-156",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which equals to value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)",
+
+ test: function testcase() {
+
+ var arr = [0, , 2];
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 3
+ }
+ });
+
+ return arr.length === 3 && arr[0] === 0 && !arr.hasOwnProperty("1") && arr[2] === 2;
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js
new file mode 100644
index 000000000..19d187030
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-157",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is less than value of the length property is defined into 'O' with deleting properties with large index named (15.4.5.1 step 3.f)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+ return arr.length === 1 && !arr.hasOwnProperty("1") && arr[0] === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js
new file mode 100644
index 000000000..451f9adf4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-158",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 12
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 0;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js
new file mode 100644
index 000000000..8d73082a5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-159",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test TypeError wouldn't be thrown when the length property is not writable (15.4.5.1 step 3.f.i)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 0
+ }
+ });
+ return true && arr.length === 0;
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js
new file mode 100644
index 000000000..58ad0742b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-16",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js",
+
+ description: "Object.defineProperties - 'O' is a Number object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ var obj = new Number(-9);
+
+ Object.defineProperty(obj, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js
new file mode 100644
index 000000000..f36252b74
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-160",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperty(arr, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 0
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 2 && arr[0] === 0 && arr[1] === 1;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js
new file mode 100644
index 000000000..d622d1464
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-161",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+
+ arr.length = 10; //try to overwrite length value of arr
+ return !arr.hasOwnProperty("1") && arr.length === 10 && arr[0] === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js
new file mode 100644
index 000000000..118aa6a84
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-162",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1,
+ writable: true
+ }
+ });
+
+ arr.length = 10; //try to overwrite length value of arr
+ return !arr.hasOwnProperty("1") && arr.length === 10 && arr[0] === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js
new file mode 100644
index 000000000..7cf09cda1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-163",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1,
+ writable: false
+ }
+ });
+
+ arr.length = 10; //try to overwrite length value of arr
+ return !arr.hasOwnProperty("1") && arr.length === 1 && arr[0] === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js
new file mode 100644
index 000000000..4298d7b4f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-164",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property in 'O' is set as true before deleting properties with large index named (15.4.5.1 step 3.i.iii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1, 2];
+ var result = 0;
+
+ try {
+ Object.defineProperty(arr, "1", {
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 0,
+ writable: false
+ }
+ });
+
+ return false;
+ } catch (e) {
+ result = (arr.length === 2);
+ arr.length = 10;
+ return (e instanceof TypeError) && result && arr.length === 2;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js
new file mode 100644
index 000000000..064cdc99d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-165",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the length property is decreased by 1 (15.4.5.1 step 3.l.i)",
+
+ test: function testcase() {
+
+ var arr = [0, 1, 2];
+
+ Object.defineProperty(arr, "1", {
+ configurable: false
+ });
+
+ Object.defineProperty(arr, "2", {
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 2 &&
+ !arr.hasOwnProperty("2") && arr[0] === 0 && arr[1] === 1;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js
new file mode 100644
index 000000000..f635cd231
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-166",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ try {
+ Object.defineProperty(arr, "1", {
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && arr.length === 2 &&
+ arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js
new file mode 100644
index 000000000..0dcb1ea76
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-167",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+ try {
+ Array.prototype[1] = 2; //we are not allowed to set the [[Configurable]] attribute of property "1" to false here, since Array.prototype is a global object, and non-configurbale property can't revert to configurable
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+
+ return arr.length === 1 && !arr.hasOwnProperty("1") && arr[0] === 0 && Array.prototype[1] === 2;
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js
new file mode 100644
index 000000000..ce0d2b2dd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-168",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+ try {
+ Object.defineProperty(arr, "1", {
+ configurable: false
+ });
+
+ Array.prototype[1] = 2;
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 2 &&
+ arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1;
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js
new file mode 100644
index 000000000..240388afc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-169",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+ try {
+ Object.defineProperty(arr, "1", {
+ configurable: false
+ });
+
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 2 && arr.hasOwnProperty("1") &&
+ arr[0] === 0 && arr[1] === 1 && Array.prototype[1] === 2;
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js
new file mode 100644
index 000000000..3bf85a416
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-17",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js",
+
+ description: "Object.defineProperties - 'O' is the Math object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperty(Math, "prop", {
+ value: 11,
+ writable: true,
+ configurable: true
+ });
+ var hasProperty = Math.hasOwnProperty("prop") && Math.prop === 11;
+
+ Object.defineProperties(Math, {
+ prop: {
+ value: 12
+ }
+ });
+ return hasProperty && Math.prop === 12;
+ } finally {
+ delete Math.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js
new file mode 100644
index 000000000..552700181
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-170",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ try {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && arr.length === 2 &&
+ arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js
new file mode 100644
index 000000000..93e229e27
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-171",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true //we are not allowed to set the [[Configurable]] attribute of property "1" to false here, since Array.prototype is a global object, and non-configurbale property can't revert to configurable
+ });
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+
+ return arr.length === 1 && !arr.hasOwnProperty("1") && arr[0] === 0 && Array.prototype[1] === 1;
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js
new file mode 100644
index 000000000..038e1c554
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-172",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+ try {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 2;
+ },
+ configurable: false
+ });
+
+ Array.prototype[1] = 3;
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 2 &&
+ arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 2;
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js
new file mode 100644
index 000000000..f27ed7f40
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js
@@ -0,0 +1,66 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-173",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+ try {
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: false
+ });
+
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr.length === 2 && arr.hasOwnProperty("1") &&
+ arr[0] === 0 && arr[1] === 1 && Array.prototype[1] === 2;
+ } finally {
+ delete Array.prototype[1];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js
new file mode 100644
index 000000000..77d78e61b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-174",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the configurable large index named property of 'O' can be deleted (15.4.5.1 step 3.l.ii)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+
+ return !arr.hasOwnProperty("1");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js
new file mode 100644
index 000000000..6e799891f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-175",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test value of the length property is set to the last non-configurable index named property of 'O' plus 1 (15.4.5.1 step 3.l.iii.1)",
+ test: function testcase() {
+
+ var arr = [0, 1, 2, 3];
+
+ Object.defineProperty(arr, "1", {
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 1
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && (arr.length === 2);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js
new file mode 100644
index 000000000..b5abb20bd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-176",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' contains non-configurable large index named property (15.4.5.1 step 3.l.iii.2)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ try {
+ Object.defineProperty(arr, "1", {
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ length: {
+ value: 1,
+ writable: false
+ }
+ });
+ return false;
+ } catch (e) {
+ arr.length = 10; //try to overwrite length value of arr
+ return e instanceof TypeError && arr.hasOwnProperty("1") &&
+ arr.length === 2 && arr[0] === 0 && arr[1] === 1;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js
new file mode 100644
index 000000000..3998a1344
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-177",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' doesn't contain non-configurable large index named property (15.4.5.1 step 3.m)",
+
+ test: function testcase() {
+
+ var arr = [0, 1];
+
+ try {
+ Object.defineProperties(arr, {
+ length: {
+ value: 0,
+ writable: false
+ }
+ });
+
+ arr.length = 10; //try to overwrite length value of arr
+ return !arr.hasOwnProperty("1") && arr.length === 0 && !arr.hasOwnProperty("0");
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js
new file mode 100644
index 000000000..8bf071ac8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+
+ id: "15.2.3.7-6-a-178",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is available String values that convert to numbers (15.4.5.1 step 4.a)",
+
+ test: function testcase() {
+
+ var arr = [0];
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: 12
+ }
+ });
+ return arr[0] === 12;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js
new file mode 100644
index 000000000..c61b89c32
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-179",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "4294967294": {
+ value: 100
+ }
+ });
+
+ return arr.hasOwnProperty("4294967294") && arr.length === 4294967295 && arr[4294967294] === 100;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js
new file mode 100644
index 000000000..18f959b72
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-18",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js",
+
+ description: "Object.defineProperties - 'O' is a Date object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ var obj = new Date();
+
+ Object.defineProperty(obj, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js
new file mode 100644
index 000000000..3c19f74ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-180",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "4294967295": {
+ value: 100
+ }
+ });
+
+ return arr.hasOwnProperty("4294967295") && arr.length === 0 && arr[4294967295] === 100;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js
new file mode 100644
index 000000000..05c1869b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-181",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 (15.4.5.1 step 4.a)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "4294967296": {
+ value: 100
+ }
+ });
+
+ return arr.hasOwnProperty("4294967296") && arr.length === 0 && arr[4294967296] === 100;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js
new file mode 100644
index 000000000..101ab82ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-182",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "4294967297": {
+ value: 100
+ }
+ });
+
+ return arr.hasOwnProperty("4294967297") && arr.length === 0 && arr[4294967297] === 100;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js
new file mode 100644
index 000000000..18cc2fb67
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-183",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js",
+
+ description: "Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property, [[Writable]] attribute of the length property in 'O' is false, value of 'P' is less than value of the length property in'O' (15.4.5.1 step 4.b)",
+
+ test: function testcase() {
+ var arr = [1, 2, 3];
+
+ Object.defineProperty(arr, "length", {
+ writable: false
+ });
+
+ Object.defineProperties(arr, {
+ "1": {
+ value: "abc"
+ }
+ });
+
+ return arr[0] === 1 && arr[1] === "abc" && arr[2] === 3;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js
new file mode 100644
index 000000000..138c57ffa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-184",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is equal to value of the length property in 'O' (15.4.5.1 step 4.b)",
+
+ test: function testcase() {
+ var arr = [1, 2, 3];
+
+ Object.defineProperty(arr, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "3": {
+ value: "abc"
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === 1 &&
+ arr[1] === 2 && arr[2] === 3 && !arr.hasOwnProperty("3");
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js
new file mode 100644
index 000000000..cf2f79100
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-185",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is bigger than value of the length property in 'O' (15.4.5.1 step 4.b)",
+
+ test: function testcase() {
+ var arr = [1, 2, 3];
+
+ Object.defineProperty(arr, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "4": {
+ value: "abc"
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === 1 && arr[1] === 2 &&
+ arr[2] === 3 && !arr.hasOwnProperty("3") && !arr.hasOwnProperty("4");
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js
new file mode 100644
index 000000000..a34e1daa0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-186",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ Object.defineProperty(arr, 0, {
+ value: "ownDataProperty",
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: "abc",
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === "ownDataProperty";
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js
new file mode 100644
index 000000000..58079b025
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-187",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is inherited data property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ value: 11,
+ configurable: true
+ });
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: false
+ }
+ });
+ return arr.hasOwnProperty("0") && typeof arr[0] === "undefined" && Array.prototype[0] === 11;
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js
new file mode 100644
index 000000000..1d5fb333a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-188",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited data property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ value: 11,
+ configurable: true
+ });
+
+ var arr = [];
+ Object.defineProperty(arr, "0", {
+ value: 12,
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === 12 && Array.prototype[0] === 11;
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js
new file mode 100644
index 000000000..05f2041f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-189",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited accessor property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+
+ var arr = [];
+ Object.defineProperty(arr, "0", {
+ value: 12,
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === 12 && Array.prototype[0] === 11;
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js
new file mode 100644
index 000000000..28e1c002c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-19",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js",
+
+ description: "Object.defineProperties - 'O' is a RegExp object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ var obj = new RegExp();
+
+ Object.defineProperty(obj, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js
new file mode 100644
index 000000000..30bba69e2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-190",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 11;
+ },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === 11;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js
new file mode 100644
index 000000000..687c04498
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-191",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is inherited accessor property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "0": {
+ get: function () {
+ return 12;
+ },
+ configurable: false
+ }
+ });
+ return arr.hasOwnProperty("0") && arr[0] === 12 && Array.prototype[0] === 11;
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js
new file mode 100644
index 000000000..eb8d0dccc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-192",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ value: 11,
+ configurable: true
+ });
+
+ var arr = [];
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 12;
+ },
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === 12 && Array.prototype[0] === 11;
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js
new file mode 100644
index 000000000..3197d0451
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-193",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+
+ var arr = [];
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 12;
+ },
+ configurable: false
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arr[0] === 12 && Array.prototype[0] === 11;
+ } finally {
+ delete Array.prototype[0];
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js
new file mode 100644
index 000000000..9491c3002
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-194",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ Object.preventExtensions(arr);
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: 1
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && (arr.hasOwnProperty("0") === false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.preventExtensions);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js
new file mode 100644
index 000000000..a140447cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-195",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "0": {
+ enumerable: true
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, true, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js
new file mode 100644
index 000000000..4b70c2ce0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-196",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Value]] of 'P' property in 'Attributes' is set as undefined value if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "0": {
+ writable: true,
+ enumerable: true,
+ configurable: false
+ }
+ });
+
+ return arr.hasOwnProperty("0") && typeof (arr[0]) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js
new file mode 100644
index 000000000..f7d9b6ac2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-197",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Writable]] of 'P' property in 'Attributes' is set as false value if [[Writable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ var isOwnProperty = false;
+ var canWritable = false;
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: 1001,
+ enumerable: true,
+ configurable: false
+ }
+ });
+
+ isOwnProperty = arr.hasOwnProperty("0");
+
+ arr[0] = 12;
+
+ canWritable = (arr[0] === 12);
+
+ return isOwnProperty && !canWritable && arr[0] === 1001;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js
new file mode 100644
index 000000000..d12370c95
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-198",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ var isOwnProperty = false;
+ var canEnumerable = false;
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: 1001,
+ writable: true,
+ configurable: true
+ }
+ });
+
+ isOwnProperty = arr.hasOwnProperty("0");
+ for (var i in arr) {
+ if (i === "0") {
+ canEnumerable = true;
+ }
+ }
+ return isOwnProperty && !canEnumerable && arr[0] === 1001;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js
new file mode 100644
index 000000000..42b175392
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-199",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ var beforeDeleted = false;
+ var afterDeleted = false;
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: 1001,
+ writable: true,
+ enumerable: true
+ }
+ });
+
+ beforeDeleted = arr.hasOwnProperty("0");
+ delete arr[0];
+ afterDeleted = arr.hasOwnProperty("0");
+ return beforeDeleted && afterDeleted && arr[0] === 1001;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js
new file mode 100644
index 000000000..b6b900734
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js",
+
+ description: "Object.defineProperties - 'P' is inherited data property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ value: 11,
+ configurable: false
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "prop", 12, false, false, true);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js
new file mode 100644
index 000000000..eefb2c42a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-20",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js",
+
+ description: "Object.defineProperties - 'O' is a JSON object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperty(JSON, "prop", {
+ value: 11,
+ writable: true,
+ configurable: true
+ });
+ var hasProperty = JSON.hasOwnProperty("prop") && JSON.prop === 11;
+ Object.defineProperties(JSON, {
+ prop: {
+ value: 12
+ }
+ });
+ return hasProperty && JSON.prop === 12;
+ } finally {
+ delete JSON.prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js
new file mode 100644
index 000000000..3f5c763cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-200",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [1]; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arr, "0", 1001, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js
new file mode 100644
index 000000000..351ff866f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-201",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Get]] of 'P' property in 'Attributes' is set as undefined value if [[Get]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "0": {
+ set: function () { },
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ return arr.hasOwnProperty("0") && typeof (arr[0]) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js
new file mode 100644
index 000000000..8305e30c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-202",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Set]] of 'P' property in 'Attributes' is set as undefined value if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ var getFunc = function () {
+ return 11;
+ };
+
+ Object.defineProperties(arr, {
+ "0": {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ var verifyEnumerable = false;
+ for (var i in arr) {
+ if (i === "0" && arr.hasOwnProperty("0")) {
+ verifyEnumerable = true;
+ }
+ }
+
+ var desc = Object.getOwnPropertyDescriptor(arr, "0");
+ var propertyDefineCorrect = arr.hasOwnProperty("0");
+
+ var verifyConfigurable = false;
+ delete arr[0];
+ verifyConfigurable = arr.hasOwnProperty("0");
+ return typeof desc.set === "undefined" && propertyDefineCorrect &&
+ desc.get === getFunc && !verifyConfigurable && verifyEnumerable;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js
new file mode 100644
index 000000000..c63c34a9b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-203",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "0": {
+ set: function () { },
+ get: function () { },
+ configurable: true
+ }
+ });
+
+ for (var i in arr) {
+ if (i === "0" && arr.hasOwnProperty("0")) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js
new file mode 100644
index 000000000..aa19d73ad
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-204",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ var beforeDeleted = false;
+ var afterDeleted = false;
+ arr.verifySetter = 100;
+
+ Object.defineProperties(arr, {
+ "0": {
+ set: function (value) {
+ arr.verifySetter = value;
+ },
+ get: function () {
+ return arr.verifySetter;
+ },
+ enumerable: true
+ }
+ });
+
+ beforeDeleted = arr.hasOwnProperty("0");
+ delete arr[0];
+ afterDeleted = arr.hasOwnProperty("0");
+
+ arr[0] = 101;
+
+ return beforeDeleted && afterDeleted && arr[0] === 101 && arr.verifySetter === 101;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js
new file mode 100644
index 000000000..29f4d9297
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-205",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "0": {
+ get: function () {
+ return 11;
+ },
+ set: function () { },
+ configurable: true,
+ enumerable: true
+ }
+ });
+
+ var setFun = function (value) {
+ arr.setVerifyHelpProp = value;
+ };
+ var getFun = function () {
+ return 14;
+ };
+ Object.defineProperties(arr, {
+ "0": {
+ get: getFun,
+ set: setFun,
+ configurable: false,
+ enumerable: false
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arr, "0", getFun, setFun, "setVerifyHelpProp", false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js
new file mode 100644
index 000000000..2334b8bf6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-206",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ arr[0] = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {}
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 101, true, true, true);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js
new file mode 100644
index 000000000..01d35d48b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-207",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is accessor property) (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function get_func() {
+ return 11;
+ }
+ function set_func(value) {
+ arr.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arr, "0", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {}
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", get_func, set_func, "setVerifyHelpProp", true, true);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js
new file mode 100644
index 000000000..a685247e2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-208",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is data property) (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ arr[0] = 100; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: 100,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arr, "0", 100, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js
new file mode 100644
index 000000000..78f3275be
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-209",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is accessor property) (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ var get_func = function () {
+ return "100";
+ };
+ var set_func = function (value) {
+ arr.setVerifyHelpProp = value;
+ };
+
+ var descObj = {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ };
+
+ var properties = {
+ "0": descObj
+ };
+
+ Object.defineProperty(arr, "0", descObj);
+
+ Object.defineProperties(arr, properties);
+
+ return accessorPropertyAttributesAreCorrect(arr, "0", get_func, set_func, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js
new file mode 100644
index 000000000..697571436
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-21",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js",
+
+ description: "Object.defineProperties - 'O' is an Error object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ var obj = new Error();
+
+ Object.defineProperty(obj, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js
new file mode 100644
index 000000000..464c82161
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-210",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: undefined
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: undefined
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js
new file mode 100644
index 000000000..95dcd43c2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-211",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are null (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: null
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: null
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", null, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js
new file mode 100644
index 000000000..c797e238b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-212",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are NaN (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: NaN
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ value: NaN
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arr, "0", NaN, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js
new file mode 100644
index 000000000..41117494c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-213",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: -0
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: +0
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "0", -0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js
new file mode 100644
index 000000000..9bb00e06b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-214",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: +0
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: -0
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "0", +0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js
new file mode 100644
index 000000000..3c8c6b020
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-215",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with same vaule (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: 101
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: 101
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 101, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js
new file mode 100644
index 000000000..d62e2b68c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-216",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings which have same length and same characters in corresponding positions (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: "abcd"
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: "abcd"
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", "abcd", false, false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js
new file mode 100644
index 000000000..54b693bea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-217",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ value: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", true, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js
new file mode 100644
index 000000000..7c4dcc0c2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-218",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ var obj1 = { length: 10 };
+ Object.defineProperty(arr, "0", {
+ value: obj1
+ });
+
+ var properties = {
+ "0": {
+ value: obj1
+ }
+ };
+ try {
+ Object.defineProperties(arr, properties);
+ return dataPropertyAttributesAreCorrect(arr, "0", obj1, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js
new file mode 100644
index 000000000..2d9c298c6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-219",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ writable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ writable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, true, false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js
new file mode 100644
index 000000000..f99fd7b2e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-22",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js",
+
+ description: "Object.defineProperties - 'O' is the Arguments object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var arg = function () {
+ return arguments;
+ }();
+
+ Object.defineProperty(arg, "prop", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js
new file mode 100644
index 000000000..daa2739f5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-220",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is false (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ writable: true,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ writable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, false, true);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js
new file mode 100644
index 000000000..553afd237
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-221",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function get_func() {
+ return 10;
+ }
+
+ Object.defineProperty(arr, "0", {
+ get: get_func
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ get: get_func
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", get_func, undefined, undefined, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js
new file mode 100644
index 000000000..0d051781b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-222",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function set_func(value) {
+ arr.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arr, "0", {
+ set: set_func
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ set: set_func
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", undefined, set_func, "setVerifyHelpProp", false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js
new file mode 100644
index 000000000..c6ae6cb86
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-223",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is true (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ enumerable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ enumerable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, true, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js
new file mode 100644
index 000000000..73aee18db
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-224",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is false (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ enumerable: true,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ enumerable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, false, true);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js
new file mode 100644
index 000000000..e349d5dc9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-225",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, false, true);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js
new file mode 100644
index 000000000..d77365991
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-226",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is false (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js
new file mode 100644
index 000000000..31ba6953c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-227",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: 3,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: 13,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js
new file mode 100644
index 000000000..4800f562d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-228",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: 3,
+ configurable: false,
+ enumerable: false
+
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: 13,
+ enumerable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js
new file mode 100644
index 000000000..d1bb1a1c6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-229",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arr, "1", {
+ set: set_fun,
+ configurable: false
+
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: 13
+ }
+ });
+ return false;
+
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js
new file mode 100644
index 000000000..da365a16b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-230",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: 3,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ set: function () { }
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js
new file mode 100644
index 000000000..e06fb82f8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-231",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from data property to accessor property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ arr[1] = 3; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(arr, {
+ "1": {
+ set: set_fun
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js
new file mode 100644
index 000000000..fcb562849
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-232",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from accessor property to data property (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+
+ });
+
+ Object.defineProperties(arr, {
+ "1": {
+ value: 12
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arr, "1", 12, false, false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js
new file mode 100644
index 000000000..2149b35bf
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-233",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false and the [[Writable]] field of 'desc' is true. (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ configurable: false,
+ writable: false
+
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ writable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", undefined, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js
new file mode 100644
index 000000000..ace5701b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-234",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: 3,
+ configurable: false,
+ writable: false
+ });
+
+ try {
+
+ Object.defineProperties(arr, {
+ "1": {
+ value: "abc"
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js
new file mode 100644
index 000000000..14790a4a6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-235",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'P' is -0 (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: +0
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: -0
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", +0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js
new file mode 100644
index 000000000..51e2511b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-236",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'P' is +0 (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: -0
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: +0
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", -0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js
new file mode 100644
index 000000000..520b470a0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-237",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two numbers with different vaule (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: 12
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: 36
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 12, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js
new file mode 100644
index 000000000..063725926
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-238",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two strings with different values (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: "abcd"
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: "efgh"
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", "abcd", false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js
new file mode 100644
index 000000000..cc2d5cd5a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-239",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two booleans with different values (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ value: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: false
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", true, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js
new file mode 100644
index 000000000..838051453
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-24",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js",
+
+ description: "Object.defineProperties - 'O' is the global object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+
+ try {
+ Object.defineProperty(fnGlobalObject(), "prop", {
+ value: 11,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(fnGlobalObject(), {
+ prop: {
+ value: 12
+ }
+ });
+ return dataPropertyAttributesAreCorrect(fnGlobalObject(), "prop", 12, true, true, true);
+ } finally {
+ delete fnGlobalObject().prop;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js
new file mode 100644
index 000000000..097292c13
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-240",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+ var obj1 = { value: 12 };
+ var obj2 = { value: 36 };
+
+ Object.defineProperty(arr, "1", {
+ value: obj1
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ value: obj2
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", obj1, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js
new file mode 100644
index 000000000..6d80e909b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-241",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "1", {
+ set: set_fun
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ set: function () { }
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js
new file mode 100644
index 000000000..40c98070c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-242",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "1", {
+ set: set_fun
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ set: undefined
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js
new file mode 100644
index 000000000..f25d1bd7f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-243",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js",
+
+ description: "Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ set: undefined
+ });
+
+ Object.defineProperties(arr, {
+ "1": {
+ set: undefined
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arr, "1", undefined, undefined, undefined, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js
new file mode 100644
index 000000000..a5911a6e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-244",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function get_fun() {
+ return 36;
+ }
+ Object.defineProperty(arr, "1", {
+ get: get_fun
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ get: function () {
+ return 12;
+ }
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", get_fun, undefined, undefined, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js
new file mode 100644
index 000000000..f9e3ae8fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-245",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js",
+
+ description: "Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function get_fun() {
+ return 36;
+ }
+ Object.defineProperty(arr, "1", {
+ get: get_fun
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ get: undefined
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", get_fun, undefined, undefined, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js
new file mode 100644
index 000000000..207143581
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-246",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js",
+
+ description: "Object.defineProperties - TypeError is not thrown if ''O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, test TypeError is not thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+ var arr = [];
+
+ Object.defineProperty(arr, "1", {
+ get: undefined
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "1": {
+ get: undefined
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arr, "1", undefined, undefined, undefined, false, false);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js
new file mode 100644
index 000000000..ac4e5ee22
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-247",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [12];
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: 36
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 36, true, true, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js
new file mode 100644
index 000000000..e160e0a2e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-248",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [12];
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: undefined
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", undefined, true, true, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js
new file mode 100644
index 000000000..9dde3d2bd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-249",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' from undefined to normal value (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [undefined];
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: 12
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 12, true, true, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js
new file mode 100644
index 000000000..dd37eda6c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-25",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (8.12.9 step 3)",
+
+ test: function testcase() {
+ var obj = {};
+ Object.preventExtensions(obj);
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && !obj.hasOwnProperty("prop");
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.preventExtensions);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js
new file mode 100644
index 000000000..4d48f8bdd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-250",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [100];
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ writable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 100, false, true, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js
new file mode 100644
index 000000000..075aa75ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-251",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [12];
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ enumerable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 12, true, false, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js
new file mode 100644
index 000000000..c655fddd1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-252",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [12];
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 12, true, true, false);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js
new file mode 100644
index 000000000..826e7c223
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-253",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [12];
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ value: 36,
+ writable: false,
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "0", 36, false, true, false);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js
new file mode 100644
index 000000000..a29ac119b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-254",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function get_fun() {
+ return 36;
+ }
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ get: get_fun
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", get_fun, undefined, undefined, false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js
new file mode 100644
index 000000000..eb50acd99
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-255",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ get: undefined
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", undefined, undefined, undefined, false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js
new file mode 100644
index 000000000..c9868afab
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-256",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function get_fun() {
+ return 36;
+ }
+
+ Object.defineProperty(arr, "0", {
+ get: undefined,
+ configurable: true
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ get: get_fun
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", get_fun, undefined, undefined, false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js
new file mode 100644
index 000000000..68039c037
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-257",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ set: set_fun
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", undefined, set_fun, "setVerifyHelpProp", false, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js
new file mode 100644
index 000000000..2e20b9d76
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-258",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ Object.defineProperties(arr, {
+ "0": {
+ set: undefined
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", undefined, undefined, undefined, false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js
new file mode 100644
index 000000000..7cde7c18b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-259",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "0", {
+ set: undefined,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ set: set_fun
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", undefined, set_fun, "setVerifyHelpProp", false, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js
new file mode 100644
index 000000000..1d6cb7a44
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-26",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (8.12.9 step 4.a)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: {
+ configurable: true,
+ enumerable: true
+ }
+ });
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc.hasOwnProperty("value") && typeof desc.value === "undefined" &&
+ desc.hasOwnProperty("writable") && desc.writable === false &&
+ desc.hasOwnProperty("configurable") && desc.configurable === true &&
+ desc.hasOwnProperty("enumerable") && desc.enumerable === true &&
+ !desc.hasOwnProperty("get") && !desc.hasOwnProperty("set");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js
new file mode 100644
index 000000000..a293f2112
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-260",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "0", {
+ set: set_fun,
+ enumerable: true,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ enumerable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", undefined, set_fun, "setVerifyHelpProp", false, true);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js
new file mode 100644
index 000000000..6146335d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-261",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "0", {
+ set: set_fun,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ configurable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", undefined, set_fun, "setVerifyHelpProp", false, false);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js
new file mode 100644
index 000000000..1dcc0e25a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-262",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function get_fun() {
+ return 36;
+ }
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "0", {
+ get: function () {
+ return 12;
+ },
+ set: set_fun,
+ enumerable: true,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "0": {
+ get: get_fun,
+ enumerable: false,
+ configurable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "0", get_fun, set_fun, "setVerifyHelpProp", false, false);
+ } catch (ex) {
+ return false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnSupportsArrayIndexGettersOnArrays();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js
new file mode 100644
index 000000000..e0d60d34e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-263",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is not changed if ToUint32('P') is less than value of the length property in 'O' (15.4.5.1 step 4.e)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ arr.length = 3; // default value of length: writable: true, configurable: false, enumerable: false
+
+ Object.defineProperties(arr, {
+ "1": {
+ value: 26
+ }
+ });
+ return arr.length === 3 && arr[1] === 26;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js
new file mode 100644
index 000000000..19394981f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-264",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ arr.length = 3; // default value of length: writable: true, configurable: false, enumerable: false
+
+ Object.defineProperties(arr, {
+ "3": {
+ value: 26
+ }
+ });
+ return arr.length === 4 && arr[3] === 26;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js
new file mode 100644
index 000000000..8b8ce92eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-265",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "5": {
+ value: 26
+ }
+ });
+ return arr.length === 6 && arr[5] === 26;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js
new file mode 100644
index 000000000..9129e13aa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-266",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperties(arr, {
+ "property": {
+ value: 12,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "property", 12, true, true, true) && arr.length === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js
new file mode 100644
index 000000000..56b46f986
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-267",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function get_fun() {
+ return 12;
+ }
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(arr, {
+ "property": {
+ get: get_fun,
+ set: set_fun,
+ enumerable: true,
+ configurable: true
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "property", get_fun, set_fun, "setVerifyHelpProp", true, true) &&
+ arr.length === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js
new file mode 100644
index 000000000..dfce9ae65
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-268",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)",
+
+ test: function testcase() {
+ var arr = [];
+ function get_fun() {
+ return 12;
+ }
+ function set_fun(value) {
+ arr.verifySetFun = value;
+ }
+ Object.defineProperty(arr, "property", {
+ get: function () {
+ return 36;
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(arr, {
+ "property": {
+ get: get_fun,
+ set: set_fun,
+ enumerable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(arr, "property", get_fun, set_fun, "verifySetFun", false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js
new file mode 100644
index 000000000..3d0726597
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-269",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+ arr.property = 12; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(arr, {
+ "property": {
+ writable: false,
+ enumerable: false,
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false) && arr.length === 0;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js
new file mode 100644
index 000000000..8d2d3bdb6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-27",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Value]] of 'P' is set as undefined value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: {
+ writable: true
+ }
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc.hasOwnProperty("value") && typeof desc.value === "undefined" &&
+ desc.hasOwnProperty("writable") && desc.writable === true &&
+ desc.hasOwnProperty("configurable") && desc.configurable === false &&
+ desc.hasOwnProperty("enumerable") && desc.enumerable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js
new file mode 100644
index 000000000..a52afdcfb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-270",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is defined as unwritable and non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "property", {
+ value: 12
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ value: 36
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js
new file mode 100644
index 000000000..ae6a87d1f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-271",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js",
+
+ description: "Object.defineProperties -'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "property", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ writable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", undefined, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js
new file mode 100644
index 000000000..2367e9692
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-272",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "property", {
+ value: 12,
+ enumerable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ enumerable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js
new file mode 100644
index 000000000..0fc5c8002
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-273",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ Object.defineProperty(arr, "property", {
+ value: 12
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js
new file mode 100644
index 000000000..e9b031b77
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-274",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+ var arr = [];
+
+ function get_fun() {
+ return 37;
+ }
+ function set_fun(value) {
+ arr.verifySetFun = value;
+ }
+ Object.defineProperty(arr, "property", {
+ get: get_fun,
+ set: set_fun
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ get: function () {
+ return 36;
+ }
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) &&
+ accessorPropertyAttributesAreCorrect(arr, "property", get_fun, set_fun, "verifySetFun", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js
new file mode 100644
index 000000000..571131d9a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-275",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "property", {
+ set: set_fun
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ set: function () { }
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "property", undefined, set_fun, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js
new file mode 100644
index 000000000..842a8e412
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-276",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "property", {
+ set: set_fun,
+ enumerable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ enumerable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "property", undefined, set_fun, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js
new file mode 100644
index 000000000..cec1763b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-277",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js",
+
+ description: "Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)",
+
+ test: function testcase() {
+
+ var arr = [];
+
+ function set_fun(value) {
+ arr.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arr, "property", {
+ set: set_fun,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arr, {
+ "property": {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "property", undefined, set_fun, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js
new file mode 100644
index 000000000..6383cd464
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-278",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ delete arg[0];
+
+ Object.defineProperties(arg, {
+ "0": {
+ value: 10,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arg, "0", 10, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js
new file mode 100644
index 000000000..4769f1fe2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-279",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ delete arg[0];
+
+ function get_func() {
+ return 10;
+ }
+ function set_func(value) {
+ arg.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(arg, {
+ "0": {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arg, "0", get_func, set_func, "setVerifyHelpProp", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js
new file mode 100644
index 000000000..ac596e754
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-28",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Writable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: {
+ value: 1001
+ }
+ });
+ obj.prop = 1002;
+ return obj.hasOwnProperty("prop") && obj.prop === 1001;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js
new file mode 100644
index 000000000..47f3f4479
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js
@@ -0,0 +1,67 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-280",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ } (0, 1, 2));
+
+ function get_func1() {
+ return 10;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func1,
+ enumerable: true,
+ configurable: true
+ });
+
+ function get_func2() {
+ return 20;
+ }
+
+ Object.defineProperties(arg, {
+ "0": {
+ get: get_func2,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(arg, "0");
+ return desc.get === get_func2 && typeof desc.set === "undefined" &&
+ desc.configurable === false && desc.enumerable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js
new file mode 100644
index 000000000..f9bb38408
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-281",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ Object.defineProperties(arg, {
+ "0": {
+ value: 20,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arg, "0", 20, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js
new file mode 100644
index 000000000..dde7ff174
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-282",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' whose writable and configurable attributes are false (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ value: 10
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js
new file mode 100644
index 000000000..5465aa09e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-283",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ writable: true
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js
new file mode 100644
index 000000000..74e655cd6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-284",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ enumerable: false
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js
new file mode 100644
index 000000000..79e711125
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-285",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ configurable: true
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js
new file mode 100644
index 000000000..c0563f7ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-286",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ } (0, 1, 2));
+
+ function get_func1() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func1,
+ enumerable: false,
+ configurable: false
+ });
+
+ function get_func2() {
+ return 10;
+ }
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ get: get_func2
+ }
+ });
+
+ return false;
+ } catch (e) {
+ var desc = Object.getOwnPropertyDescriptor(arg, "0");
+ return e instanceof TypeError && desc.get === get_func1 && typeof desc.set === "undefined" &&
+ desc.enumerable === false && desc.configurable === false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js
new file mode 100644
index 000000000..47074e7de
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js
@@ -0,0 +1,69 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-287",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ function get_func() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ function set_func(value) {
+ arg.setVerifyHelpProp = value;
+ }
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ set: set_func
+ }
+ });
+
+ return false;
+ } catch (e) {
+ var desc = Object.getOwnPropertyDescriptor(arg, "0");
+ return e instanceof TypeError && desc.get === get_func && typeof desc.set === "undefined" &&
+ desc.enumerable === false && desc.configurable === false;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js
new file mode 100644
index 000000000..7f331bb43
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-288",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ function get_func() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ enumerable: false
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js
new file mode 100644
index 000000000..6489b88db
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js
@@ -0,0 +1,63 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-289",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun(a, b, c) {
+ arg = arguments;
+ }(0, 1, 2));
+
+ function get_func() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ configurable: true
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js
new file mode 100644
index 000000000..f03d836b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-29",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: { value: 1001}
+ });
+
+ for (var prop in obj) {
+ if (obj.hasOwnProperty(prop)) {
+ if (prop === "prop") {
+ return false;
+ }
+ }
+ }
+ return true;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js
new file mode 100644
index 000000000..0aec0b0cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-290",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }(0, 1, 2));
+
+ delete arg[0];
+
+ Object.defineProperties(arg, {
+ "0": {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arg, "0", 10, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js
new file mode 100644
index 000000000..3977ebe51
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-291",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }(0, 1, 2));
+
+ delete arg[0];
+
+ function get_func() {
+ return 10;
+ }
+ function set_func(value) {
+ arg.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(arg, {
+ "0": {
+ get: get_func,
+ set: set_func,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arg, "0", get_func, set_func, "setVerifyHelpProp", false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js
new file mode 100644
index 000000000..c1096e77a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-292",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }(0, 1, 2));
+
+ function get_func1() {
+ return 10;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func1,
+ enumerable: true,
+ configurable: true
+ });
+
+ function get_func2() {
+ return 20;
+ }
+
+ Object.defineProperties(arg, {
+ "0": {
+ get: get_func2,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arg, "0", get_func2, undefined, undefined, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js
new file mode 100644
index 000000000..2f505e53c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-293",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }(0, 1, 2));
+
+ Object.defineProperties(arg, {
+ "0": {
+ value: 20,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arg, "0", 20, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js
new file mode 100644
index 000000000..37dc958ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-294",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ value: 10
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js
new file mode 100644
index 000000000..b67e30207
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-295",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ writable: true
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js
new file mode 100644
index 000000000..417f528db
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-296",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ enumerable: false
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js
new file mode 100644
index 000000000..d3be7b3b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-297",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ Object.defineProperty(arg, "0", {
+ value: 0,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ configurable: true
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js
new file mode 100644
index 000000000..9298e6654
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-298",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ function get_func1() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func1,
+ enumerable: false,
+ configurable: false
+ });
+
+ function get_func2() {
+ return 10;
+ }
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ get: get_func2
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func1, undefined, undefined, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js
new file mode 100644
index 000000000..c4784a7c2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js
@@ -0,0 +1,66 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-299",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ function get_func() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ function set_func(value) {
+ arg.setVerifyHelpProp = value;
+ }
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ set: set_func
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js
new file mode 100644
index 000000000..0118df343
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js",
+
+ description: "Object.defineProperties - 'P' is own data property that overrides an inherited data property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ value: 11,
+ configurable: true
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+ Object.defineProperty(obj, "prop", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 13,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js
new file mode 100644
index 000000000..0f9f4d2b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-30",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)",
+
+ test: function testcase() {
+ var obj = {};
+
+
+ Object.defineProperties(obj, {
+ prop: { value: 1001 }
+ });
+ delete obj.prop;
+ return obj.hasOwnProperty("prop") && obj.prop === 1001;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js
new file mode 100644
index 000000000..19713048c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-300",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ function get_func() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ enumerable: false
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js
new file mode 100644
index 000000000..efcf44ac4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-301",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+
+ var arg;
+
+ (function fun() {
+ arg = arguments;
+ }());
+
+ function get_func() {
+ return 0;
+ }
+
+ Object.defineProperty(arg, "0", {
+ get: get_func,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "0": {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js
new file mode 100644
index 000000000..2bf1f1642
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-302",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arg, "genericProperty", 1001, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js
new file mode 100644
index 000000000..bd38fe38f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-303",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ function getFun() {
+ return "getFunctionString";
+ }
+ function setFun(value) {
+ arg.testGetFunction = value;
+ }
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ get: getFun,
+ set: setFun,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arg, "genericProperty", getFun, setFun, "testGetFunction", true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js
new file mode 100644
index 000000000..6ae176cd1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-304",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ Object.defineProperty(arg, "genericProperty", {
+ get: function () {
+ return 1001;
+ },
+ set: function (value) {
+ arg.testGetFunction1 = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ function getFun() {
+ return "getFunctionString";
+ }
+ function setFun(value) {
+ arg.testGetFunction = value;
+ }
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ get: getFun,
+ set: setFun,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return accessorPropertyAttributesAreCorrect(arg, "genericProperty", getFun, setFun, "testGetFunction", false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js
new file mode 100644
index 000000000..c0bac0d89
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-305",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ Object.defineProperty(arg, "genericProperty", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ value: 1002,
+ enumerable: false,
+ configurable: false
+ }
+ });
+
+ return dataPropertyAttributesAreCorrect(arg, "genericProperty", 1002, true, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js
new file mode 100644
index 000000000..2f7872e0d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-306",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ Object.defineProperty(arg, "genericProperty", {
+ value: 1001,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ value: 1002
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arg, "genericProperty", 1001, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js
new file mode 100644
index 000000000..ae7d19f26
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-307",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ Object.defineProperty(arg, "genericProperty", {
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ writable: true
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arg, "genericProperty", undefined, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js
new file mode 100644
index 000000000..9db9aac72
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-308",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ Object.defineProperty(arg, "genericProperty", {
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ enumerable: false
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arg, "genericProperty", undefined, false, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js
new file mode 100644
index 000000000..c3497a83d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-309",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ Object.defineProperty(arg, "genericProperty", {
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ configurable: true
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arg, "genericProperty", undefined, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js
new file mode 100644
index 000000000..d6f77a42f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-31",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js",
+
+ description: "Object.defineProperties - 'desc' is data descriptor, test setting all attribute values of 'P' (8.12.9 step 4.a.i)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, {
+ prop: {
+ value: 1002,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "prop", 1002, false, false, false);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js
new file mode 100644
index 000000000..d0971bc49
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-310",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ } (1, 2, 3));
+
+ function getFun() {
+ return "genericPropertyString";
+ }
+ function setFun(value) {
+ arg.verifySetFun = value;
+ }
+ Object.defineProperty(arg, "genericProperty", {
+ get: getFun,
+ set: setFun,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ get: function () {
+ return "overideGenericPropertyString";
+ }
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arg, "genericProperty", getFun, setFun, "verifySetFun", false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js
new file mode 100644
index 000000000..76d92e13c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-311",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ function setFun(value) {
+ arg.genericPropertyString = value;
+ }
+ Object.defineProperty(arg, "genericProperty", {
+ set: setFun,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ set: function (value) {
+ arg.genericPropertyString1 = value;
+ }
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arg, "genericProperty", undefined, setFun, "genericPropertyString", false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js
new file mode 100644
index 000000000..6195a37cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-312",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ function setFun(value) {
+ arg.genericPropertyString = value;
+ }
+ Object.defineProperty(arg, "genericProperty", {
+ set: setFun,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ enumerable: false
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arg, "genericProperty", undefined, setFun, "genericPropertyString", true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js
new file mode 100644
index 000000000..82d265e00
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-313",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+
+ function setFun(value) {
+ arg.genericPropertyString = value;
+ }
+ Object.defineProperty(arg, "genericProperty", {
+ set: setFun,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(arg, {
+ "genericProperty": {
+ configurable: true
+ }
+ });
+
+ return false;
+ } catch (ex) {
+ return ex instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arg, "genericProperty", undefined, setFun, "genericPropertyString", false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js
new file mode 100644
index 000000000..45085e6cf
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-314",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js",
+
+ description: "Object.defineProperties - 'O' is an Arguments object, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)",
+
+ test: function testcase() {
+ var arg = (function () {
+ return arguments;
+ }(1, 2, 3));
+ var accessed = false;
+
+ Object.defineProperties(arg, {
+ "0": {
+ get: function () {
+ accessed = true;
+ return 12;
+ }
+ }
+ });
+
+ return arg[0] === 12 && accessed;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js
new file mode 100644
index 000000000..4a55f6dcb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-32",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js",
+
+ description: "Object.defineProperties - 'desc' is generic descriptor without any attribute, test 'P' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperties(obj, { prop: {} });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc.hasOwnProperty("value") && typeof desc.value === "undefined" &&
+ desc.hasOwnProperty("writable") && desc.writable === false &&
+ desc.hasOwnProperty("configurable") && desc.configurable === false &&
+ desc.hasOwnProperty("enumerable") && desc.enumerable === false &&
+ !desc.hasOwnProperty("get") && !desc.hasOwnProperty("set");
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js
new file mode 100644
index 000000000..3cc61f2ed
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-33",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Get]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b)",
+
+ test: function testcase() {
+ var obj = {};
+ var setFun = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+
+ Object.defineProperties(obj, {
+ prop: {
+ set: setFun,
+ enumerable: true,
+ configurable: true
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "prop", undefined, setFun, "setVerifyHelpProp", true, true);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js
new file mode 100644
index 000000000..7e409777d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-34",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Set]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)",
+
+ test: function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 10;
+ };
+
+ Object.defineProperties(obj, {
+ prop: {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ return obj.hasOwnProperty("prop") && typeof (desc.set) === "undefined";
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js
new file mode 100644
index 000000000..8c499af7d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-35",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)",
+
+ test: function testcase() {
+ var obj = {};
+ var getFun = function () {
+ return 10;
+ };
+ var setFun = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+
+ Object.defineProperties(obj, {
+ prop: {
+ set: setFun,
+ get: getFun,
+ configurable: true
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "prop", getFun, setFun, "setVerifyHelpProp", false, true);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js
new file mode 100644
index 000000000..afe946d24
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-36",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js",
+
+ description: "Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)",
+
+ test: function testcase() {
+ var obj = {};
+ var getFun = function () {
+ return 10;
+ };
+ var setFun = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+
+ Object.defineProperties(obj, {
+ prop: {
+ set: setFun,
+ get: getFun,
+ enumerable: true
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "prop", getFun, setFun, "setVerifyHelpProp", true, false);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js
new file mode 100644
index 000000000..d88500502
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-37",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js",
+
+ description: "Object.defineProperties - 'desc' is accessor descriptor, test setting all attribute values of 'P' (8.12.9 step 4.b.i)",
+
+ test: function testcase() {
+ var obj = {};
+ var getFun = function () {
+ return 10;
+ };
+ var setFun = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+
+ Object.defineProperties(obj, {
+ prop: {
+ get: getFun,
+ set: setFun,
+ enumerable: false,
+ configurable: false
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "prop", getFun, setFun, "setVerifyHelpProp", false, false);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js
new file mode 100644
index 000000000..17c153bd0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-38-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js",
+
+ description: "Object.defineProperties - 'P' exists in 'O' is an accessor property, test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var getFunc = function () {
+ return 12;
+ };
+ Object.defineProperties(obj, {
+ foo: {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ }
+ });
+
+ Object.defineProperties(obj, { foo: {} });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, undefined, undefined, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js
new file mode 100644
index 000000000..267511ae9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-38",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js",
+
+ description: "Object.defineProperties - 'P' exists in 'O', test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)",
+
+ test: function testcase() {
+
+ var obj = {};
+ obj.foo = 100; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(obj, { foo: {} });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 100, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js
new file mode 100644
index 000000000..4770024ed
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-39",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js",
+
+ description: "Object.defineProperties - 'P' is data descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 101,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 101, true, true, true);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js
new file mode 100644
index 000000000..f08b195be
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js",
+
+ description: "Object.defineProperties - 'P' is own data property that overrides an inherited accessor property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+ Object.defineProperty(obj, "prop", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 13,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js
new file mode 100644
index 000000000..03b0793a7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-40",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js",
+
+ description: "Object.defineProperties - 'P' is accessor descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 0;
+ }
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+ var desc = {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ };
+
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, true);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js
new file mode 100644
index 000000000..d4838f61f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-41",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js",
+
+ description: "Object.defineProperties - type of desc.value is different from type of P.value (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: "102"
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "102", true, true, true);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js
new file mode 100644
index 000000000..ba44cd619
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-42",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js",
+
+ description: "Object.defineProperties - both desc.value and P.value are undefined (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: undefined };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: undefined
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js
new file mode 100644
index 000000000..7af4b3200
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-43",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js",
+
+ description: "Object.defineProperties - both desc.value and P.value are null (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: null };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: null
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
+
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js
new file mode 100644
index 000000000..e2b498c32
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-44",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js",
+
+ description: "Object.defineProperties - both desc.value and P.value are NaN (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: NaN };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: NaN
+ }
+ });
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyValue = false;
+ obj.prop = "overrideData";
+ verifyValue = obj.foo !== obj.foo && isNaN(obj.foo);
+
+ var verifyConfigurable = false;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ return verifyConfigurable && !verifyEnumerable && verifyValue;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js
new file mode 100644
index 000000000..2c406bcf1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-45",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js",
+
+ description: "Object.defineProperties - desc.value is +0 and P.value is -0 (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: -0 };
+ Object.defineProperty(obj, "foo", desc);
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: +0
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js
new file mode 100644
index 000000000..5309e5012
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-46",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js",
+
+ description: "Object.defineProperties - desc.value is -0 and P.value is +0 (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: +0 };
+ Object.defineProperty(obj, "foo", desc);
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: -0
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js
new file mode 100644
index 000000000..c0699dd5f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-47",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js",
+
+ description: "Object.defineProperties - desc.value and P.value are two numbers with the same value (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: 101 };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 101
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 101, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js
new file mode 100644
index 000000000..fbdaa0be2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-48",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js",
+
+ description: "Object.defineProperties - desc.value and P.value are two numbers with different values (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 102
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 102, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js
new file mode 100644
index 000000000..e384da242
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-49",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js",
+
+ description: "Object.defineProperties - both desc.value and P.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: "abcd" };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: "abcd"
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js
new file mode 100644
index 000000000..0037cd962
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-5",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js",
+
+ description: "Object.defineProperties - 'P' is own accessor property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var obj = {};
+ function getFunc() {
+ return 11;
+ }
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 12,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, undefined, undefined, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js
new file mode 100644
index 000000000..25a921ba7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-50",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js",
+
+ description: "Object.defineProperties - desc.value and P.value are two strings with different values (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = "abcd"; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: "fghj"
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "fghj", true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js
new file mode 100644
index 000000000..ed12153cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-51",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js",
+
+ description: "Object.defineProperties - both desc.value and P.value are boolean values with the same value (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { value: true };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", true, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js
new file mode 100644
index 000000000..428f468ed
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-52",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js",
+
+ description: "Object.defineProperties - desc.value and P.value are two boolean values with different values (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = true; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", false, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js
new file mode 100644
index 000000000..50f8b4f4c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-53",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js",
+
+ description: "Object.defineProperties - both desc.value and P.value are Ojbects which refer to the same Object (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+ var desc = { value: obj1 };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: obj1
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js
new file mode 100644
index 000000000..e1ee26bf3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-54",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js",
+
+ description: "Object.defineProperties - desc.value and P.value are two Ojbects which refer to the different objects (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+ obj.foo = obj1; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ var obj2 = { length: 20 };
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: obj2
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", obj2, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js
new file mode 100644
index 000000000..2f5252a97
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-55",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js",
+
+ description: "Object.defineProperties - both desc.writable and P.writable are boolean values with the same value (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { writable: false };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ writable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js
new file mode 100644
index 000000000..69a5fe499
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-56",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js",
+
+ description: "Object.defineProperties - desc.writable and P.writable are two boolean values with different values (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var desc = { writable: false, configurable: true };
+ Object.defineProperty(obj, "foo", desc);
+
+ Object.defineProperties(obj, {
+ foo: {
+ writable: true,
+ configurable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js
new file mode 100644
index 000000000..2df871186
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js
@@ -0,0 +1,67 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-57",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js",
+
+ description: "Object.defineProperties - both desc.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_Func() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_Func
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_Func
+ }
+ });
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyValue = false;
+ verifyValue = (obj.foo === 10);
+
+ var verifyConfigurable = false;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+ return verifyConfigurable && !verifyEnumerable && verifyValue && typeof (desc.set) === "undefined" && desc.get === get_Func;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js
new file mode 100644
index 000000000..369de69a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js
@@ -0,0 +1,73 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-58",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js",
+
+ description: "Object.defineProperties - desc.[[Get]] and P.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_Func1() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_Func1,
+ configurable: true
+ });
+
+ function get_Func2() {
+ return 20;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_Func2
+ }
+ });
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyValue = false;
+ verifyValue = (obj.foo === 20);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ var verifyConfigurable = false;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ return !verifyConfigurable && !verifyEnumerable && verifyValue && typeof (desc.set) === "undefined" && desc.get === get_Func2;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js
new file mode 100644
index 000000000..88746eb14
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-59",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js",
+
+ description: "Object.defineProperties - both desc.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: set_func
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_func
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js
new file mode 100644
index 000000000..2d8ec7b68
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-6",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js",
+
+ description: "Object.defineProperties - 'P' is inherited accessor property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ get: function () {
+ return 11;
+ },
+ configurable: false
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+
+ Object.defineProperties(obj, {
+ prop: {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ }
+ });
+ return obj.hasOwnProperty("prop") && obj.prop === 12;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js
new file mode 100644
index 000000000..49b5bc87c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-60",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js",
+
+ description: "Object.defineProperties - desc.[[Set]] and P.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func1() {}
+
+ Object.defineProperty(obj, "foo", {
+ set: set_func1,
+ configurable: true
+ });
+
+ function set_func2(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_func2
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func2, "setVerifyHelpProp", false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js
new file mode 100644
index 000000000..e490121c6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-61",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js",
+
+ description: "Object.defineProperties - both desc.enumerable and P.enumerable are boolean values with the same value (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ enumerable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ enumerable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js
new file mode 100644
index 000000000..dcea8f216
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-62",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js",
+
+ description: "Object.defineProperties - desc.enumerable and P.enumerable are two boolean values with different values (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ enumerable: false,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ enumerable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js
new file mode 100644
index 000000000..7daf55a46
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-63",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js",
+
+ description: "Object.defineProperties - both desc.configurable and P.configurable are boolean values with the same value (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js
new file mode 100644
index 000000000..aa8b4c885
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-64",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js",
+
+ description: "Object.defineProperties - desc.configurable and P.configurable are two boolean values with different values (8.12.9 step 6)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js
new file mode 100644
index 000000000..9f21b8ed2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-65",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false and desc.configurable is true (8.12.9 step 7.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js
new file mode 100644
index 000000000..17851695b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-66-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ enumerable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ enumerable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js
new file mode 100644
index 000000000..237439677
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-66",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ enumerable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ enumerable: false
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js
new file mode 100644
index 000000000..0a953fb3a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js
@@ -0,0 +1,73 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-67",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js",
+
+ description: "Object.defineProperties throws TypeError when P is accessor property and P.configurable is false, desc is data property (8.12.9 step 9.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_Func() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_Func,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: 11
+ }
+ });
+ return false;
+ } catch (e) {
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyValue = false;
+ verifyValue = (obj.foo === 10);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ var verifyConfigurable = false;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ return e instanceof TypeError && verifyConfigurable && !verifyEnumerable &&
+ verifyValue && typeof (desc.set) === "undefined" && desc.get === get_Func;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js
new file mode 100644
index 000000000..5a2340134
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-68",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js",
+
+ description: "Object.defineProperties throws TypeError when P is data property and P.configurable is false, desc is accessor property (8.12.9 step 9.a)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ configurable: false
+ });
+
+ function get_func() {
+ return 11;
+ }
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js
new file mode 100644
index 000000000..bfbe68625
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js
@@ -0,0 +1,70 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-69",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js",
+
+ description: "Object.defineProperties - 'P' is data property and P.configurable is true, desc is accessor property (8.12.9 step 9.b.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ configurable: true
+ });
+
+ function get_Func() {
+ return 20;
+ }
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_Func
+ }
+ });
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyValue = false;
+ verifyValue = (obj.foo === 20);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ var verifyConfigurable = true;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ return !verifyConfigurable && !verifyEnumerable && verifyValue &&
+ typeof desc.set === "undefined" && desc.get === get_Func;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js
new file mode 100644
index 000000000..688042d99
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-7",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js",
+
+ description: "Object.defineProperties - 'P' is own accessor property that overrides an inherited data property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ value: 11,
+ configurable: true
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+ Object.defineProperty(obj, "prop", {
+ get: function () {
+ return 12;
+ },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 13,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && obj.prop === 12;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js
new file mode 100644
index 000000000..d84c68097
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-70",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js",
+
+ description: "Object.defineProperties - 'P' is accessor property and P.configurable is true, 'desc' in 'Properties' is data property (8.12.9 step 9.c.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 12
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 12, false, false, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js
new file mode 100644
index 000000000..bd1e084ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-71",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js",
+
+ description: "Object.defineProperties throws TypeError when 'P' is data property and P.configurable is false, P.writable is false, desc is data property and desc.writable is true (8.12.9 step 10.a.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ writable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js
new file mode 100644
index 000000000..b0fad9962
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-72",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js",
+
+ description: "Object.defineProperties throws TypeError when P is data property and P.configurable is false, P.writable is false, desc is data property and desc.value is not equal to P.value (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: 20
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js
new file mode 100644
index 000000000..ae34c2d30
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-73",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js",
+
+ description: "Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is undefined and properties.value is undefined (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: undefined,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: undefined
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js
new file mode 100644
index 000000000..ab10208e9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-74",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js",
+
+ description: "Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is null and properties.value is null (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: null,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: null
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js
new file mode 100644
index 000000000..7591fba8f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-75",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js",
+
+ description: "Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is NaN and properties.value is NaN (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "foo", {
+ value: NaN,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: NaN
+ }
+ });
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ obj.prop = "overrideData";
+ var verifyValue = false;
+ verifyValue = obj.foo !== obj.foo && isNaN(obj.foo);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ var verifyConfigurable = false;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ return verifyValue && !verifyEnumerable && verifyConfigurable;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js
new file mode 100644
index 000000000..3f869c328
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-76",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: -0,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: +0
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js
new file mode 100644
index 000000000..8df417a06
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-77",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: +0,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: -0
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js
new file mode 100644
index 000000000..5faa3465e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-78",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with the same value (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 100,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 100
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 100, false, false, false);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js
new file mode 100644
index 000000000..0480c4af9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-79",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with different values (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: 20
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js
new file mode 100644
index 000000000..f7521981b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js
@@ -0,0 +1,64 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-8",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js",
+
+ description: "Object.defineProperties - 'P' is own accessor property that overrides an inherited accessor property (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "prop", {
+ get: function() {
+ return 11;
+ },
+ configurable: true
+ });
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var obj = new Con();
+ Object.defineProperty(obj, "prop", {
+ get: function () {
+ return 12;
+ },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ value: 13,
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && obj.prop === 12;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js
new file mode 100644
index 000000000..5c9f81528
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-80",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with the same value (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: "abcd",
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: "abcd"
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js
new file mode 100644
index 000000000..f6a4b892c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-81",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with different values (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: "abcd",
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: "defg"
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js
new file mode 100644
index 000000000..29b936879
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-82",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with the same value (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: false,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", false, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js
new file mode 100644
index 000000000..7c2d1994c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-83",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with different values (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: false,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", false, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js
new file mode 100644
index 000000000..f86130f67
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-84-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object which has been updated before use it to update the object (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+
+ Object.defineProperty(obj, "foo", {
+ value: obj1,
+ writable: false,
+ configurable: false
+ });
+
+ var obj2 = obj1;
+ obj2.y = "hello";
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: obj2
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js
new file mode 100644
index 000000000..fa647d5c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-84",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+
+ Object.defineProperty(obj, "foo", {
+ value: obj1,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: obj1
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js
new file mode 100644
index 000000000..234d0e96c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-85",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two objects with different values (8.12.9 step 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+
+ Object.defineProperty(obj, "foo", {
+ value: obj1,
+ writable: false,
+ configurable: false
+ });
+
+ var obj2 = { length: 20 };
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ value: obj2
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js
new file mode 100644
index 000000000..290838046
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-86-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object and the object has been updated after defined(8.12.9 step 11.a.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ var set_func = function (value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: set_func,
+ configurable: false
+ });
+
+ set_func = function (value) {
+ obj.setVerifyHelpProp1 = value;
+ }
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_func
+ }
+ });
+ } catch (e) {
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js
new file mode 100644
index 000000000..ab2890cab
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-86",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: set_func,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_func
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js
new file mode 100644
index 000000000..e81568c21
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-87",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to different objects (8.12.9 step 11.a.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func1(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: set_func1,
+ configurable: false
+ });
+
+ function set_func2() {}
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_func2
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func1, "setVerifyHelpProp", false, false);
+ }
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js
new file mode 100644
index 000000000..9419dd2f9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js
@@ -0,0 +1,73 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-88",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.[[Set]] is undefined, properties.[[Set]] refers to an objcet (8.12.9 step 11.a.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_Func() {
+ return 0;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: undefined,
+ get: get_Func,
+ enumerable: false,
+ configurable: false
+ });
+
+ function set_Func() { }
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ set: set_Func
+ }
+ });
+ return false;
+ } catch (e) {
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ var verifyConfigurable = false;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ return e instanceof TypeError && !verifyEnumerable && verifyConfigurable && typeof (desc.set) === "undefined";
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js
new file mode 100644
index 000000000..7606cc932
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js
@@ -0,0 +1,68 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-89",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Set]] and properties.[[Set]] are undefined (8.12.9 step 11.a.i)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function get_Func() {
+ return 0;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_Func,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ set: undefined
+ }
+ });
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "foo") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ var verifyConfigurable = false;
+ delete obj.foo;
+ verifyConfigurable = obj.hasOwnProperty("foo");
+
+ return verifyConfigurable && !verifyEnumerable && typeof (desc.set) === "undefined";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js
new file mode 100644
index 000000000..e7e03b700
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-9",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js",
+
+ description: "Object.defineProperties - 'P' is own accessor property without a get function (8.12.9 step 1 ) ",
+
+ test: function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "prop", {
+ set: function () { },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ prop: {
+ get: function () { },
+ configurable: true
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js
new file mode 100644
index 000000000..551c380cc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-90",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+ function get_func() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js
new file mode 100644
index 000000000..4fb1ad8b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js
@@ -0,0 +1,66 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-91",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to different objects (8.12.9 step 11.a.ii)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+ function get_func1() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func1,
+ set: set_func,
+ enumerable: false,
+ configurable: false
+ });
+
+ function get_func2() {
+ return 20;
+ }
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func2
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(obj, "foo", get_func1, set_func, "setVerifyHelpProp", false, false);
+ }
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js
new file mode 100644
index 000000000..f20bd0aad
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-92",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js",
+
+ description: "Object.defineProperties throws TypeError when P.configurable is false, P.[[Get]] is undefined, properties.[[Get]] refers to an objcet (8.12.9 step 11.a.ii)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: undefined,
+ set: set_func,
+ enumerable: false,
+ configurable: false
+ });
+
+ function get_func() {
+ return 0;
+ }
+
+ try {
+ Object.defineProperties(obj, {
+ foo: {
+ get: get_func
+ }
+ });
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js
new file mode 100644
index 000000000..65f1fbee1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-93-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js",
+
+ description: "Object.defineProperties will update [[Value]] attribute of named data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "property1", {
+ value: 1003,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ property: {
+ value: 1002
+ },
+ property1: {
+ value: 1004
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(obj, "property", 1002, false, false, true) &&
+ dataPropertyAttributesAreCorrect(obj, "property1", 1003, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js
new file mode 100644
index 000000000..8b3f2b1c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-93-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js",
+
+ description: "Object.defineProperties will update [[Value]] attribute of indexed data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "1", {
+ value: 1003,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ 0: {
+ value: 1002
+ },
+ 1: {
+ value: 1004
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true) &&
+ dataPropertyAttributesAreCorrect(obj, "1", 1003, false, false, false);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js
new file mode 100644
index 000000000..9bd6cdfef
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-93-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js",
+
+ description: "Object.defineProperties will fail to update [[Value]] attribute of named data property 'P' when [[Configurable]] attribute of first updating property is false (8.12.9 - step Note & 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "property1", {
+ value: 1003,
+ writable: false,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ property: {
+ value: 1002
+ },
+ property1: {
+ value: 1004
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(obj, "property", 1001, false, false, false) &&
+ dataPropertyAttributesAreCorrect(obj, "property1", 1003, false, false, true);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js
new file mode 100644
index 000000000..8eaad4f3b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js
@@ -0,0 +1,65 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-93-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js",
+
+ description: "Object.defineProperties will fail to update [[Value]] attribute of indexed data property 'P' when [[Configurable]] attribute of first updating property are false (8.12.9 - step Note & 10.a.ii.1)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "1", {
+ value: 1003,
+ writable: false,
+ configurable: true
+ });
+
+ try {
+ Object.defineProperties(obj, {
+ 0: {
+ value: 1002
+ },
+ 1: {
+ value: 1004
+ }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(obj, "0", 1001, false, false, false) &&
+ dataPropertyAttributesAreCorrect(obj, "1", 1003, false, false, true);
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js
new file mode 100644
index 000000000..7bb1eb70a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-93",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js",
+
+ description: "Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Get]] and properties.[[Get]] are undefined (8.12.9 step 11.a.ii)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ function set_func(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: undefined,
+ set: set_func,
+ enumerable: false,
+ configurable: false
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ get: undefined
+ }
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.getOwnPropertyDescriptor) && fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js
new file mode 100644
index 000000000..fb68d814f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-94",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js",
+
+ description: "Object.defineProperties - 'P' is data property, properties.value and P.value are two different values (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = 100; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 200
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js
new file mode 100644
index 000000000..8cf9e397d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-95",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js",
+
+ description: "Object.defineProperties - 'P' is data property, P.value is present and properties.value is undefined (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 200,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: undefined
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js
new file mode 100644
index 000000000..e9914827d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-96",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js",
+
+ description: "Object.defineProperties - 'P' is data property, properties.value is present and P.value is undefined (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: undefined,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ value: 200
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js
new file mode 100644
index 000000000..431f507c7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-97",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js",
+
+ description: "Object.defineProperties - 'P' is data property, P.writable and properties.writable are different values (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 100,
+ enumerable: true,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ writable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 100, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js
new file mode 100644
index 000000000..3f40cfe42
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-98",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js",
+
+ description: "Object.defineProperties - 'P' is data property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 200,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ enumerable: true
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js
new file mode 100644
index 000000000..6dc5d3720
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "15.2.3.7-6-a-99",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js",
+
+ description: "Object.defineProperties - 'P' is data property, P.configurable is true and properties.configurable is false",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 200,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ });
+
+ Object.defineProperties(obj, {
+ foo: {
+ configurable: false
+ }
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, false);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperties) && fnExists(Object.defineProperty);
+ }
+});