aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6')
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js68
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js65
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-2.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-1.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-1.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-1.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-1.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-1.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js65
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js74
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js65
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js74
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js63
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js68
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js63
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js68
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js66
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js66
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js66
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js66
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js66
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js68
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js66
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js66
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js68
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js71
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js67
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js55
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js52
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js62
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js71
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js60
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js43
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js70
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js80
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js89
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js71
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js80
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js56
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js65
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js61
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js57
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js54
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js58
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js45
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js65
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js59
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js46
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js47
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js53
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js51
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js54
1115 files changed, 51365 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js
new file mode 100644
index 000000000..5686e88f8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js
@@ -0,0 +1,33 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js
+ * @description Object.defineProperty must exist as a function
+ */
+
+
+function testcase() {
+ var f = Object.defineProperty;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js
new file mode 100644
index 000000000..159ca6e62
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js
@@ -0,0 +1,32 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js
+ * @description Object.defineProperty must exist as a function taking 3 parameters
+ */
+
+
+function testcase() {
+ if (Object.defineProperty.length === 3) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js
new file mode 100644
index 000000000..3ebba54dd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js
+ * @description Object.defineProperty applied to undefined throws a TypeError
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(undefined, "foo", {});
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js
new file mode 100644
index 000000000..bbec8f865
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js
+ * @description Object.defineProperty applied to null throws a TypeError
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(null, "foo", {});
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js
new file mode 100644
index 000000000..03c6eca9d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js
+ * @description Object.defineProperty applied to number primitive throws a TypeError
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(5, "foo", {});
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js
new file mode 100644
index 000000000..c1febddd8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js
+ * @description Object.defineProperty applied to string primitive throws a TypeError
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty("hello\nworld\\!", "foo", {});
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js
new file mode 100644
index 000000000..e3046c293
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js
+ * @description Object.defineProperty throws TypeError if type of first param is not Object
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(true, "foo", {});
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js
new file mode 100644
index 000000000..e6c115bdd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js
+ * @description Object.defineProperty - argument 'P' is undefined that converts to string 'undefined'
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, undefined, {});
+
+ return obj.hasOwnProperty("undefined");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js
new file mode 100644
index 000000000..dc98fed25
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is a negative number)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, -20, {});
+
+ return obj.hasOwnProperty("-20");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js
new file mode 100644
index 000000000..65a367732
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is Infinity)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, Infinity, {});
+
+ return obj.hasOwnProperty("Infinity");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js
new file mode 100644
index 000000000..b244097df
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is +Infinity)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, +Infinity, {});
+
+ return obj.hasOwnProperty("Infinity");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js
new file mode 100644
index 000000000..0ddf29182
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is -Infinity)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, -Infinity, {});
+
+ return obj.hasOwnProperty("-Infinity");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js
new file mode 100644
index 000000000..f21e1b81c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros))
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 100000000000000000000, {});
+
+ return obj.hasOwnProperty("100000000000000000000");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js
new file mode 100644
index 000000000..a0dbfa81a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros))
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1000000000000000000000, {});
+
+ return obj.hasOwnProperty("1e+21");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js
new file mode 100644
index 000000000..a1b9655bb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros))
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 10000000000000000000000, {});
+
+ return obj.hasOwnProperty("1e+22");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js
new file mode 100644
index 000000000..04d70f4fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(trailing 5 zeros))
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 000001, {});
+
+ return obj.hasOwnProperty("1");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js
new file mode 100644
index 000000000..fc2a55381
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e+20)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1e+20, {});
+
+ return obj.hasOwnProperty("100000000000000000000");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js
new file mode 100644
index 000000000..ea0facd7c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+21)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1e+21, {});
+
+ return obj.hasOwnProperty("1e+21");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js
new file mode 100644
index 000000000..9490dd3ae
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+22)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1e+22, {});
+
+ return obj.hasOwnProperty("1e+22");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js
new file mode 100644
index 000000000..9a77d4b0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js
+ * @description Object.defineProperty - argument 'P' is null that converts to string 'null'
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, null, {});
+
+ return obj.hasOwnProperty("null");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js
new file mode 100644
index 000000000..a425f8f8b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.000001)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 0.000001, {});
+
+ return obj.hasOwnProperty("0.000001");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js
new file mode 100644
index 000000000..cb0d9ec5d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.0000001)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 0.0000001, {});
+
+ return obj.hasOwnProperty("1e-7");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js
new file mode 100644
index 000000000..7aef3fdf7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.00000001)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 0.00000001, {});
+
+ return obj.hasOwnProperty("1e-8");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js
new file mode 100644
index 000000000..c0f7786c9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-7)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1e-7, {});
+
+ return obj.hasOwnProperty("1e-7");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js
new file mode 100644
index 000000000..2bc90b47d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-6)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1e-6, {});
+
+ return obj.hasOwnProperty("0.000001");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js
new file mode 100644
index 000000000..0f002769a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-5)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1e-5, {});
+
+ return obj.hasOwnProperty("0.00001");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js
new file mode 100644
index 000000000..53cfee821
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js
+ * @description Object.defineProperty - argument 'P' is an integer that converts to a string (value is 123)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 123, {});
+
+ return obj.hasOwnProperty("123");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js
new file mode 100644
index 000000000..b94f5c895
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js
+ * @description Object.defineProperty - argument 'P' is a decimal that converts to a string (value is 123.456)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 123.456, {});
+
+ return obj.hasOwnProperty("123.456");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js
new file mode 100644
index 000000000..e030cb0d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 19 zeros).1)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 10000000000000000000.1, {});
+
+ return obj.hasOwnProperty("10000000000000000000");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js
new file mode 100644
index 000000000..5b4e5d21b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros).1)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 100000000000000000000.1, {});
+
+ return obj.hasOwnProperty("100000000000000000000");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js
new file mode 100644
index 000000000..4747c25fc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js
+ * @description Object.defineProperty - argument 'P' is a boolean whose value is false
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, false, {});
+
+ return obj.hasOwnProperty("false");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js
new file mode 100644
index 000000000..02ba44ebb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros).1)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 1000000000000000000000.1, {});
+
+ return obj.hasOwnProperty("1e+21");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js
new file mode 100644
index 000000000..68e746341
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros).1)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 10000000000000000000000.1, {});
+
+ return obj.hasOwnProperty("1e+22");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js
new file mode 100644
index 000000000..57e87b6d9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 123.1234567)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 123.1234567, {});
+
+ return obj.hasOwnProperty("123.1234567");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js
new file mode 100644
index 000000000..8047e410c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js
+ * @description Object.defineProperty - argument 'P' is applied to an empty string
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "", {});
+
+ return obj.hasOwnProperty("");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js
new file mode 100644
index 000000000..32ee4cdfb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js
+ * @description Object.defineProperty - argument 'P' is applied to string 'AB
+ * \cd'
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "AB\n\\cd", {});
+
+ return obj.hasOwnProperty("AB\n\\cd");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js
new file mode 100644
index 000000000..f164b186c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js
+ * @description Object.defineProperty - argument 'P' is applied to string 'undefined'
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "undefined", {});
+
+ return obj.hasOwnProperty("undefined");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js
new file mode 100644
index 000000000..40e251d55
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js
+ * @description Object.defineProperty - argument 'P' is applied to string 'null'
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "null", {});
+
+ return obj.hasOwnProperty("null");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js
new file mode 100644
index 000000000..108011f50
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js
+ * @description Object.defineProperty - argument 'P' is applied to string '123αβπcd'
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "123αβπcd", {});
+
+ return obj.hasOwnProperty("123αβπcd");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js
new file mode 100644
index 000000000..f29dcaa27
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js
+ * @description Object.defineProperty - argument 'P' is applied to string '1'
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "1", {});
+
+ return obj.hasOwnProperty("1");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js
new file mode 100644
index 000000000..09336f66a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js
+ * @description Object.defineProperty - argument 'P' is an array that converts to a string
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, [1, 2], {});
+
+ return obj.hasOwnProperty("1,2");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js
new file mode 100644
index 000000000..1f49acd65
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js
+ * @description Object.defineProperty - argument 'P' is a boolean whose value is true
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, true, {});
+
+ return obj.hasOwnProperty("true");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js
new file mode 100644
index 000000000..820ffc459
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js
+ * @description Object.defineProperty - argument 'P' is a String Object that converts to a string
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, new String("Hello"), {});
+
+ return obj.hasOwnProperty("Hello");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js
new file mode 100644
index 000000000..bb0c9dd56
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js
+ * @description Object.defineProperty - argument 'P' is a Boolean Object that converts to a string
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, new Boolean(false), {});
+
+ return obj.hasOwnProperty("false");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js
new file mode 100644
index 000000000..0361d9978
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js
+ * @description Object.defineProperty - argument 'P' is a Number Object that converts to a string
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, new Number(123), {});
+
+ return obj.hasOwnProperty("123");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js
new file mode 100644
index 000000000..d28727613
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js
+ * @description Object.defineProperty - argument 'P' is an object that has an own toString method
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var ownProp = {
+ toString: function () {
+ return "abc";
+ }
+ };
+
+ Object.defineProperty(obj, ownProp, {});
+
+ return obj.hasOwnProperty("abc");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js
new file mode 100644
index 000000000..ef4d7ace2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js
+ * @description Object.defineProperty - argument 'P' is an object that has an own valueOf method
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var ownProp = {
+ valueOf: function () {
+ return "abc";
+ },
+ toString: undefined
+ };
+
+ Object.defineProperty(obj, ownProp, {});
+
+ return obj.hasOwnProperty("abc");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js
new file mode 100644
index 000000000..00334cc45
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js
+ * @description Object.defineProperty - argument 'P' is an object whose toString method returns an object and whose valueOf method returns a primitive value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var ownProp = {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+ valueOf: function () {
+ valueOfAccessed = true;
+ return "abc";
+ }
+ };
+
+ Object.defineProperty(obj, ownProp, {});
+
+ return obj.hasOwnProperty("abc") && valueOfAccessed && toStringAccessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js
new file mode 100644
index 000000000..e1751dacd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js
+ * @description Object.defineProperty - argument 'P' is an object that has an own toString and valueOf method
+ */
+
+
+function testcase() {
+ var obj = {};
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var ownProp = {
+ toString: function () {
+ toStringAccessed = true;
+ return "abc";
+ },
+ valueOf: function () {
+ valueOfAccessed = true;
+ return "prop";
+ }
+ };
+ Object.defineProperty(obj, ownProp, {});
+
+ return obj.hasOwnProperty("abc") && !valueOfAccessed && toStringAccessed;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js
new file mode 100644
index 000000000..9d288a09d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js
+ * @description Object.defineProperty - TypeError exception is thrown when 'P' is an object that neither toString nor valueOf returns a primitive value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var ownProp = {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ };
+
+ try {
+ Object.defineProperty(obj, ownProp, {});
+ return false;
+ } catch (e) {
+ return valueOfAccessed && toStringAccessed && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js
new file mode 100644
index 000000000..50b69a518
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js
+ * @description Object.defineProperty - an inherited toString method is invoked when 'P' is an object with an own valueOf and an inherited toString methods
+ */
+
+
+function testcase() {
+ var obj = {};
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var proto = {
+ toString: function () {
+ toStringAccessed = true;
+ return "test";
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ child.valueOf = function () {
+ valueOfAccessed = true;
+ return "10";
+ };
+
+ Object.defineProperty(obj, child, {});
+
+ return obj.hasOwnProperty("test") && !valueOfAccessed && toStringAccessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js
new file mode 100644
index 000000000..c09bcdbc4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js
@@ -0,0 +1,34 @@
+
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is NaN)
+ */
+
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, NaN, {});
+
+ return obj.hasOwnProperty("NaN");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js
new file mode 100644
index 000000000..285031eee
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is 0)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 0, {});
+
+ return obj.hasOwnProperty("0");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js
new file mode 100644
index 000000000..c8959506c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is +0)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, +0, {});
+
+ return obj.hasOwnProperty("0");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js
new file mode 100644
index 000000000..2ec205418
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is -0)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, -0, {});
+
+ return obj.hasOwnProperty("0");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js
new file mode 100644
index 000000000..fc22e5827
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js
+ * @description Object.defineProperty - argument 'P' is a number that converts to a string (value is a positive number)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, 30, {});
+
+ return obj.hasOwnProperty("30");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js
new file mode 100644
index 000000000..7feae35ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js
+ * @description Object.defineProperty throws TypeError if desc has 'get' and 'value' present(8.10.5 step 9.a)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var getter = function () { return 1; }
+ var desc = { get: getter, value: 101};
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js
new file mode 100644
index 000000000..9f18b0a87
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js
+ * @description Object.defineProperty throws TypeError if setter is not callable but not undefined (Number)(8.10.5 step 8.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy setter
+ var setter = 42;
+ var desc = { set: setter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js
new file mode 100644
index 000000000..06ad8953e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is null (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { configurable: null });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js
new file mode 100644
index 000000000..f2f469bde
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is true (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: true });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js
new file mode 100644
index 000000000..33521224b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is false (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { configurable: false });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js
new file mode 100644
index 000000000..b3f5c4c7d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is 0 (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { configurable: 0 });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js
new file mode 100644
index 000000000..7485c7a18
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is +0 (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: +0 });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js
new file mode 100644
index 000000000..d4a1f645c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is -0 (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { configurable: -0 });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js
new file mode 100644
index 000000000..56d7f1cc4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is NaN (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { configurable: NaN });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js
new file mode 100644
index 000000000..dc7a2d731
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a positive number (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: 12345 });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js
new file mode 100644
index 000000000..3d11d318d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a negative number (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: -12345 });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js
new file mode 100644
index 000000000..69dbde62d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is an empty string (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { configurable: "" });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js
new file mode 100644
index 000000000..37ac96fb7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js
+ * @description Object.defineProperty throws TypeError if setter is not callable but not undefined (Boolean)(8.10.5 step 8.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy setter
+ var setter = true;
+ var desc = { set: setter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js
new file mode 100644
index 000000000..bfa75b979
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a non-empty string (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: " " });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js
new file mode 100644
index 000000000..8544a4c75
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a Function object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ configurable: function () { }
+ });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js
new file mode 100644
index 000000000..286a482bd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is an Array object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: [1, 2, 3] });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js
new file mode 100644
index 000000000..007480b56
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a String object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: new String("bbq") });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js
new file mode 100644
index 000000000..64ba3f740
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a Boolean object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: new Boolean(true) });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js
new file mode 100644
index 000000000..3d0d67f92
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a Number object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: new Number(0) });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js
new file mode 100644
index 000000000..e37ea25d3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is the Math object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: Math });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js
new file mode 100644
index 000000000..7d7959fc7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a Date object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { configurable: new Date() });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js
new file mode 100644
index 000000000..77e60464f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a RegExp object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ configurable: new RegExp()
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js
new file mode 100644
index 000000000..bac8c0f93
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is the JSON object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ configurable: JSON
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js
new file mode 100644
index 000000000..43b27066d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js
+ * @description Object.defineProperty throws TypeError if setter is not callable but not undefined (String)(8.10.5 step 8.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy setter
+ var setter = "abc";
+ var desc = { set: setter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js
new file mode 100644
index 000000000..d90ad87d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is a Error object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ configurable: new SyntaxError()
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js
new file mode 100644
index 000000000..7213150e6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is the Argument object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var argObj = (function () { return arguments; })(1, true, "a");
+
+ var attr = {
+ configurable: argObj
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js
new file mode 100644
index 000000000..8874e0c0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is the global object (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ configurable: fnGlobalObject()
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js
new file mode 100644
index 000000000..9dd5847eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ configurable: "false"
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js
new file mode 100644
index 000000000..ff7778bb5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ configurable: new Boolean(false)
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js
new file mode 100644
index 000000000..2cde28379
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is present (8.10.5 step 5)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = { value: 100 };
+
+ Object.defineProperty(obj, "property", attr);
+
+ return obj.property === 100;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js
new file mode 100644
index 000000000..e303d82d8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is not present (8.10.5 step 5)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var attr = {
+ writable: true
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js
new file mode 100644
index 000000000..539ee67ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is an inherited data property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {
+ value: "inheritedDataProperty"
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "inheritedDataProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js
new file mode 100644
index 000000000..9059f2f11
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js
+ * @description Object.defineProperty throws TypeError if the setter in desc is not callable (Null)(8.10.5 step 8.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy setter
+ var setter = null;
+ var desc = { set: setter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js
new file mode 100644
index 000000000..4aed4f5c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = { value: "inheritedDataProperty" };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ child.value = "ownDataProperty";
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownDataProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js
new file mode 100644
index 000000000..ff6fdd79d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {};
+
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "value", {
+ value: "ownDataProperty"
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownDataProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js
new file mode 100644
index 000000000..47e1cd20d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is own accessor property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var attr = {};
+ Object.defineProperty(attr, "value", {
+ get: function () {
+ return "ownAccessorProperty";
+ }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ return obj.property === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js
new file mode 100644
index 000000000..ea7b73edf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {};
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "inheritedAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js
new file mode 100644
index 000000000..38a2c1471
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {
+ value: "inheritedDataProperty"
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "value", {
+ get: function () {
+ return "ownAccessorProperty";
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js
new file mode 100644
index 000000000..f096c6967
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "value", {
+ get: function () {
+ return "ownAccessorProperty";
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js
new file mode 100644
index 000000000..7f09000a8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is own accessor property without a get function (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {};
+ Object.defineProperty(attr, "value", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js
new file mode 100644
index 000000000..8fdacd914
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {};
+ Object.defineProperty(proto, "value", {
+ get: function () {
+ return "inheritedAccessorProperty";
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "value", {
+ set : function () { }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js
new file mode 100644
index 000000000..59087bb0a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js
+ * @description Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { property : 120 };
+
+ var proto = {};
+ Object.defineProperty(proto, "value", {
+ set: function () { }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js
new file mode 100644
index 000000000..18756fd6a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Function.prototype.value = "Function";
+ var funObj = function (a, b) {
+ return a + b;
+ };
+
+ Object.defineProperty(obj, "property", funObj);
+
+ return obj.property === "Function";
+ } finally {
+ delete Function.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js
new file mode 100644
index 000000000..3708dd4e4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var funObj = function (a, b) {
+ return a + b;
+ };
+
+ funObj.value = "Function";
+
+ Object.defineProperty(obj, "property", funObj);
+
+ return obj.property === "Function";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js
new file mode 100644
index 000000000..207e28836
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js
+ * @description Object.defineProperty throws TypeError if setter is not callable but not undefined (Object)(8.10.5 step 8.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var setter = { a: 1 };
+ var desc = { set: setter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js
new file mode 100644
index 000000000..79fb4d41b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Array.prototype.value = "Array";
+ var arrObj = [1, 2, 3];
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ return obj.property === "Array";
+ } finally {
+ delete Array.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js
new file mode 100644
index 000000000..c4d55470d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var arrObj = [1, 2, 3];
+
+ arrObj.value = "Array";
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ return obj.property === "Array";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js
new file mode 100644
index 000000000..c978eb857
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ String.prototype.value = "String";
+ var strObj = new String("abc");
+
+ Object.defineProperty(obj, "property", strObj);
+
+ return obj.property === "String";
+ } finally {
+ delete String.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js
new file mode 100644
index 000000000..645887948
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var strObj = new String("abc");
+
+ strObj.value = "String";
+
+ Object.defineProperty(obj, "property", strObj);
+
+ return obj.property === "String";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js
new file mode 100644
index 000000000..d0f48b7a8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Boolean.prototype.value = "Boolean";
+ var boolObj = new Boolean(true);
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ return obj.property === "Boolean";
+ } finally {
+ delete Boolean.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js
new file mode 100644
index 000000000..6ff07983c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var boolObj = new Boolean(true);
+
+ boolObj.value = "Boolean";
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ return obj.property === "Boolean";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js
new file mode 100644
index 000000000..0766957b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Number.prototype.value = "Number";
+ var numObj = new Number(-2);
+
+ Object.defineProperty(obj, "property", numObj);
+
+ return obj.property === "Number";
+ } finally {
+ delete Number.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js
new file mode 100644
index 000000000..b1afbb40c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var numObj = new Number(-2);
+
+ numObj.value = "Number";
+
+ Object.defineProperty(obj, "property", numObj);
+
+ return obj.property === "Number";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js
new file mode 100644
index 000000000..64fe171d3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.value = "Math";
+
+ Object.defineProperty(obj, "property", Math);
+
+ return obj.property === "Math";
+ } finally {
+ delete Object.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js
new file mode 100644
index 000000000..2783f9561
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Math.value = "Math";
+
+ Object.defineProperty(obj, "property", Math);
+
+ return obj.property === "Math";
+ } finally {
+ delete Math.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js
new file mode 100644
index 000000000..cbfafe6aa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Date.prototype.value = "Date";
+ var dateObj = new Date();
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ return obj.property === "Date";
+ } finally {
+ delete Date.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js
new file mode 100644
index 000000000..79fd4ce7d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var dateObj = new Date();
+
+ dateObj.value = "Date";
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ return obj.property === "Date";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js
new file mode 100644
index 000000000..feb6f2efe
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ RegExp.prototype.value = "RegExp";
+ var regObj = new RegExp();
+
+ Object.defineProperty(obj, "property", regObj);
+
+ return obj.property === "RegExp";
+ } finally {
+ delete RegExp.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js
new file mode 100644
index 000000000..45227fbdb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var regObj = new RegExp();
+
+ regObj.value = "RegExp";
+
+ Object.defineProperty(obj, "property", regObj);
+
+ return obj.property === "RegExp";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js
new file mode 100644
index 000000000..61d37d63d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.value = "JSON";
+
+ Object.defineProperty(obj, "property", JSON);
+
+ return obj.property === "JSON";
+ } finally {
+ delete Object.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js
new file mode 100644
index 000000000..29d25b8ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ JSON.value = "JSON";
+
+ Object.defineProperty(obj, "property", JSON);
+
+ return obj.property === "JSON";
+ } finally {
+ delete JSON.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js
new file mode 100644
index 000000000..ad81b8d7e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Error.prototype.value = "Error";
+ var errObj = new Error();
+
+ Object.defineProperty(obj, "property", errObj);
+
+ return obj.property === "Error";
+ } finally {
+ delete Error.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js
new file mode 100644
index 000000000..c86866cd0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var errObj = new Error();
+
+ errObj.value = "Error";
+
+ Object.defineProperty(obj, "property", errObj);
+
+ return obj.property === "Error";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js
new file mode 100644
index 000000000..430d3d249
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Object.prototype.value = "arguments";
+ var argObj = (function () { return arguments; })();
+
+
+ Object.defineProperty(obj, "property", argObj);
+
+ return obj.property === "arguments";
+ } finally {
+ delete Object.prototype.value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js
new file mode 100644
index 000000000..4022b2f50
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var argObj = (function () { return arguments; })();
+
+ argObj.value = "arguments";
+
+ Object.defineProperty(obj, "property", argObj);
+
+ return obj.property === "arguments";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js
new file mode 100644
index 000000000..d4e9cb305
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js
+ * @description Object.defineProperty - 'Attributes' is undefined (8.10.5 step 1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ try {
+ Object.defineProperty(obj, "property", undefined);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js
new file mode 100644
index 000000000..03f9353ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js
+ * @description Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ fnGlobalObject().value = "global";
+
+ Object.defineProperty(obj, "property", fnGlobalObject());
+
+ return obj.property === "global";
+ } finally {
+ delete fnGlobalObject().value;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js
new file mode 100644
index 000000000..dc3ee7e33
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is present (8.10.5 step 6)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ writable: false
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js
new file mode 100644
index 000000000..cc49eec95
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is not present (8.10.5 step 6)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {
+ value: 100
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js
new file mode 100644
index 000000000..a495dd74b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own data property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var attr = {
+ writable: true
+ };
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js
new file mode 100644
index 000000000..b26d404b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is an inherited data property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {
+ writable: true
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js
new file mode 100644
index 000000000..96a21a324
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {
+ writable: false
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ child.writable = true;
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js
new file mode 100644
index 000000000..652637108
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = { };
+ Object.defineProperty(proto, "writable", {
+ get : function () {
+ return false;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "writable", {
+ value: true
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js
new file mode 100644
index 000000000..f11eaca72
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own accessor property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var attr = { };
+ Object.defineProperty(attr, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js
new file mode 100644
index 000000000..da99699d5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js
new file mode 100644
index 000000000..c93479332
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js
+ * @description Object.defineProperty - 'Attributes' is null (8.10.5 step 1)
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty({}, "property", null);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js
new file mode 100644
index 000000000..d09eb9a39
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {
+ writable: false
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js
new file mode 100644
index 000000000..64b2c264b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "writable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js
new file mode 100644
index 000000000..f9f274842
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attr = {};
+ Object.defineProperty(attr, "writable", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js
new file mode 100644
index 000000000..fdda4130e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "writable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "writable", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js
new file mode 100644
index 000000000..67808389b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "writable", {
+ set: function () { }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js
new file mode 100644
index 000000000..c8ab4fd84
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Function.prototype.writable = true;
+ var funObj = function (a, b) {
+ return a + b;
+ };
+
+ Object.defineProperty(obj, "property", funObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Function.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js
new file mode 100644
index 000000000..09eaa740b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var funObj = function (a, b) {
+ return a + b;
+ };
+
+ funObj.writable = true;
+
+ Object.defineProperty(obj, "property", funObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js
new file mode 100644
index 000000000..9a4dfa3fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Array.prototype.writable = true;
+ var arrObj = [1, 2, 3];
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Array.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js
new file mode 100644
index 000000000..75e713565
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var arrObj = [1, 2, 3];
+
+ arrObj.writable = true;
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js
new file mode 100644
index 000000000..382355553
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ String.prototype.writable = true;
+ var strObj = new String("abc");
+
+ Object.defineProperty(obj, "property", strObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete String.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js
new file mode 100644
index 000000000..fee1941a4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var strObj = new String("abc");
+
+ strObj.writable = true;
+
+ Object.defineProperty(obj, "property", strObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js
new file mode 100644
index 000000000..319ee05f7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Boolean.prototype.writable = true;
+ var boolObj = new Boolean(true);
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Boolean.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js
new file mode 100644
index 000000000..c3c87ade5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var boolObj = new Boolean(true);
+
+ boolObj.writable = true;
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js
new file mode 100644
index 000000000..cc36bc932
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Number.prototype.writable = true;
+ var numObj = new Number(-2);
+
+ Object.defineProperty(obj, "property", numObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Number.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js
new file mode 100644
index 000000000..4a96fbc80
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var numObj = new Number(-2);
+
+ numObj.writable = true;
+
+ Object.defineProperty(obj, "property", numObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js
new file mode 100644
index 000000000..4667e1ba6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js
+ * @description Object.defineProperty - 'Attributes' is a boolean primitive (8.10.5 step 1)
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty({}, "property", true);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js
new file mode 100644
index 000000000..f334c8b79
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.writable = true;
+
+ Object.defineProperty(obj, "property", Math);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Object.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js
new file mode 100644
index 000000000..98abf1efc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Math.writable = true;
+
+ Object.defineProperty(obj, "property", Math);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Math.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js
new file mode 100644
index 000000000..3a65e64b6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Date.prototype.writable = true;
+
+ dateObj = new Date();
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Date.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js
new file mode 100644
index 000000000..e82b2b526
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var dateObj = new Date();
+
+ dateObj.writable = true;
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js
new file mode 100644
index 000000000..dcb4c6979
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ RegExp.prototype.writable = true;
+
+ var regObj = new RegExp();
+
+ Object.defineProperty(obj, "property", regObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete RegExp.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js
new file mode 100644
index 000000000..9d86f5929
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var regObj = new RegExp();
+
+ regObj.writable = true;
+
+ Object.defineProperty(obj, "property", regObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js
new file mode 100644
index 000000000..ba7e4d6ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.writable = true;
+
+ Object.defineProperty(obj, "property", JSON);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Object.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js
new file mode 100644
index 000000000..a6418d86d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ JSON.writable = true;
+
+ Object.defineProperty(obj, "property", JSON);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete JSON.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js
new file mode 100644
index 000000000..d5ee683c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Error.prototype.writable = true;
+
+ var errObj = new Error();
+
+ Object.defineProperty(obj, "property", errObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Error.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js
new file mode 100644
index 000000000..4fe11e7f3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var errObj = new Error();
+
+ errObj.writable = true;
+
+ Object.defineProperty(obj, "property", errObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js
new file mode 100644
index 000000000..2c59fbbea
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Object.prototype.writable = true;
+
+ var argObj = (function () { return arguments; })();
+
+ Object.defineProperty(obj, "property", argObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete Object.prototype.writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js
new file mode 100644
index 000000000..7272d7521
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var argObj = (function () { return arguments; })();
+
+ argObj.writable = true;
+
+ Object.defineProperty(obj, "property", argObj);
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js
new file mode 100644
index 000000000..e68fa6bc3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js
+ * @description Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ fnGlobalObject().writable = true;
+
+ Object.defineProperty(obj, "property", fnGlobalObject());
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ } finally {
+ delete fnGlobalObject().writable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js
new file mode 100644
index 000000000..bb1a4baa8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is undefined (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ writable: undefined
+ });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js
new file mode 100644
index 000000000..b0598af20
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is null (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { writable: null });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js
new file mode 100644
index 000000000..6fa82df51
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js
+ * @description Object.defineProperty - 'Attributes' is a number primitive (8.10.5 step 1)
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty({}, "property", 12);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js
new file mode 100644
index 000000000..dc00a4ad4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is true (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: true });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js
new file mode 100644
index 000000000..cfb3344b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is false (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { writable: false });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js
new file mode 100644
index 000000000..9db5c9b5c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is 0 (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { writable: 0 });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js
new file mode 100644
index 000000000..21833e517
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is +0 (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: +0 });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js
new file mode 100644
index 000000000..c36dc8050
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is -0 (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { writable: -0 });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js
new file mode 100644
index 000000000..9f0180475
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is NaN (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { writable: NaN});
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js
new file mode 100644
index 000000000..1a87ea182
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a positive number (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: 12345 });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js
new file mode 100644
index 000000000..96131c7b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a negative number (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: -12345 });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js
new file mode 100644
index 000000000..bdf0172fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is an empty string (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: "" });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (typeof (obj.property) === "undefined");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js
new file mode 100644
index 000000000..9176b34ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a non-empty string (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: " " });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js
new file mode 100644
index 000000000..a991f3f18
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js
+ * @description Object.defineProperty - 'Attributes' is a string primitive (8.10.5 step 1)
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty({}, "property", "abc");
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js
new file mode 100644
index 000000000..dc17ca2cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a Function object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ writable: function () { }
+ });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js
new file mode 100644
index 000000000..f1527f734
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is an Array object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: [1, 2, 3] });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js
new file mode 100644
index 000000000..a526f0dd9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a String object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: new String("bbq") });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js
new file mode 100644
index 000000000..8e0ad6ba4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a Boolean object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: new Boolean(true) });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js
new file mode 100644
index 000000000..380d413d7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a Number object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: new Number(123) });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js
new file mode 100644
index 000000000..750bb42a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is the Math object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: Math });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js
new file mode 100644
index 000000000..dba21ffce
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a Date object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: new Date() });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js
new file mode 100644
index 000000000..155a2f0c4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a RegExp object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ writable: new RegExp()
+ });
+
+ var beforeWrite = obj.hasOwnProperty("property") && typeof obj.property === "undefined";
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite && afterWrite;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js
new file mode 100644
index 000000000..a905f1d64
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is the JSON object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: JSON });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js
new file mode 100644
index 000000000..b1617c6d7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is a Error object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: new SyntaxError() });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js
new file mode 100644
index 000000000..03e4e4649
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js
+ * @description Object.defineProperty throws TypeError if desc has 'get' and 'writable' present(8.10.5 step 9.a)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var getter = function () { return 1; }
+ var desc = { get: getter, writable: false };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js
new file mode 100644
index 000000000..9909ab247
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is present (8.10.5 step 3)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ var accessed = false;
+ Object.defineProperty(obj, "property", {
+ enumerable: false
+ });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed && obj.hasOwnProperty("property");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js
new file mode 100644
index 000000000..678721c0d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is the Argument object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var argObj = (function () { return arguments; })(1, true, "a");
+
+ Object.defineProperty(obj, "property", { writable: argObj });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js
new file mode 100644
index 000000000..07548f4de
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is the global object (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ writable: fnGlobalObject()
+ });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js
new file mode 100644
index 000000000..61d527ec7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is a string(value is 'false') (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: "false" });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js
new file mode 100644
index 000000000..80a0fc830
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js
+ * @description Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 6.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", { writable: new Boolean(false) });
+
+ var beforeWrite = obj.hasOwnProperty("property");
+
+ obj.property = "isWritable";
+
+ var afterWrite = (obj.property === "isWritable");
+
+ return beforeWrite === true && afterWrite === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js
new file mode 100644
index 000000000..9f3a551f1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is present (8.10.5 step 7)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return "present";
+ }
+ });
+
+ return obj.property === "present";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js
new file mode 100644
index 000000000..2fbb73689
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is not present (8.10.5 step 7)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ set: function () {}
+ });
+
+ return typeof obj.property === "undefined" && obj.hasOwnProperty("property");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js
new file mode 100644
index 000000000..c8a17d6f5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own data property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var attributes = {
+ get: function () {
+ return "ownDataProperty";
+ }
+ };
+
+ Object.defineProperty(obj, "property", attributes);
+
+ return obj.property === "ownDataProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js
new file mode 100644
index 000000000..ffab9643c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is an inherited data property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {
+ get: function () {
+ return "inheritedDataProperty";
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "inheritedDataProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js
new file mode 100644
index 000000000..178358d88
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {
+ get: function () {
+ return "inheritedDataProperty";
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ child.get = function () {
+ return "ownDataProperty";
+ };
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownDataProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js
new file mode 100644
index 000000000..b1bde9475
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is not present (8.10.5 step 3)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ var attr = {};
+ var accessed = false;
+ Object.defineProperty(obj, "property", attr);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js
new file mode 100644
index 000000000..ad20fb40c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ var fun = function () {
+ return "inheritedAccessorProperty";
+ };
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return fun;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "get", {
+ value: function () {
+ return "ownDataProperty";
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownDataProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js
new file mode 100644
index 000000000..1e86bfece
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own accessor property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attributes = {};
+ Object.defineProperty(attributes, "get", {
+ get: function () {
+ return function () {
+ return "ownAccessorProperty";
+ };
+ }
+ });
+
+ Object.defineProperty(obj, "property", attributes);
+
+ return obj.property === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js
new file mode 100644
index 000000000..4bee3a496
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return function () {
+ return "inheritedAccessorProperty";
+ };
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "inheritedAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js
new file mode 100644
index 000000000..d6a7e82a4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {
+ get: function () {
+ return "inheritedDataProperty";
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "get", {
+ get: function () {
+ return function () {
+ return "ownAccessorProperty";
+ };
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js
new file mode 100644
index 000000000..5fc5bc98d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return function () {
+ return "inheritedAccessorProperty";
+ };
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "get", {
+ get: function () {
+ return function () {
+ return "ownAccessorProperty";
+ };
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.property === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js
new file mode 100644
index 000000000..5c3cf69f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own accessor property without a get function (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attributes = {};
+ Object.defineProperty(attributes, "get", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", attributes);
+
+ return typeof obj.property === "undefined" && obj.hasOwnProperty("property");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js
new file mode 100644
index 000000000..4f5cac27a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "get", {
+ get: function () {
+ return function () {
+ return "inheritedAccessorProperty";
+ };
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "get", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js
new file mode 100644
index 000000000..8c919f965
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js
+ * @description Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "get", {
+ set: function () { }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js
new file mode 100644
index 000000000..61e025bbb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Function.prototype.get = function () {
+ return "functionGetProperty";
+ };
+ var funObj = function () { };
+
+ Object.defineProperty(obj, "property", funObj);
+
+ return obj.property === "functionGetProperty";
+ } finally {
+ delete Function.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js
new file mode 100644
index 000000000..564ddeec0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var funObj = function () { };
+
+ funObj.get = function () {
+ return "functionGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", funObj);
+
+ return obj.property === "functionGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js
new file mode 100644
index 000000000..12dc20b53
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Array.prototype.get = function () {
+ return "arrayGetProperty";
+ };
+ var arrObj = [];
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ return obj.property === "arrayGetProperty";
+ } finally {
+ delete Array.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js
new file mode 100644
index 000000000..c4ffd1257
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var arrObj = [];
+
+ arrObj.get = function () {
+ return "arrayGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ return obj.property === "arrayGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js
new file mode 100644
index 000000000..698e4ecc0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own data property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", {
+ enumerable: true
+ });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js
new file mode 100644
index 000000000..f0608e769
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ String.prototype.get = function () {
+ return "stringGetProperty";
+ };
+ var strObj = new String();
+
+ Object.defineProperty(obj, "property", strObj);
+
+ return obj.property === "stringGetProperty";
+ } finally {
+ delete String.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js
new file mode 100644
index 000000000..4d4ceece4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var strObj = new String();
+
+ strObj.get = function () {
+ return "stringGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", strObj);
+
+ return obj.property === "stringGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js
new file mode 100644
index 000000000..b7b354d03
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Boolean.prototype.get = function () {
+ return "booleanGetProperty";
+ };
+ var boolObj = new Boolean(true);
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ return obj.property === "booleanGetProperty";
+ } finally {
+ delete Boolean.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js
new file mode 100644
index 000000000..57f79020c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var boolObj = new Boolean(true);
+
+ boolObj.get = function () {
+ return "booleanGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ return obj.property === "booleanGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js
new file mode 100644
index 000000000..0d8e82344
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Number.prototype.get = function () {
+ return "numberGetProperty";
+ };
+ var numObj = new Number(-2);
+
+ Object.defineProperty(obj, "property", numObj);
+
+ return obj.property === "numberGetProperty";
+ } finally {
+ delete Number.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js
new file mode 100644
index 000000000..06d78e688
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var numObj = new Number(-2);
+
+ numObj.get = function () {
+ return "numberGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", numObj);
+
+ return obj.property === "numberGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js
new file mode 100644
index 000000000..5ba51400e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.get = function () {
+ return "mathGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", Math);
+
+ return obj.property === "mathGetProperty";
+ } finally {
+ delete Object.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js
new file mode 100644
index 000000000..92266dcdc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Math.get = function () {
+ return "mathGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", Math);
+
+ return obj.property === "mathGetProperty";
+ } finally {
+ delete Math.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js
new file mode 100644
index 000000000..0acc8c9ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Date.prototype.get = function () {
+ return "dateGetProperty";
+ };
+ var dateObj = new Date();
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ return obj.property === "dateGetProperty";
+ } finally {
+ delete Date.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js
new file mode 100644
index 000000000..512d36266
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var dateObj = new Date();
+
+ dateObj.get = function () {
+ return "dateGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ return obj.property === "dateGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js
new file mode 100644
index 000000000..e5da634ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ RegExp.prototype.get = function () {
+ return "regExpGetProperty";
+ };
+ var regObj = new RegExp();
+
+
+ Object.defineProperty(obj, "property", regObj);
+
+ return obj.property === "regExpGetProperty";
+ } finally {
+ delete RegExp.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js
new file mode 100644
index 000000000..df53f45d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var regObj = new RegExp();
+
+ regObj.get = function () {
+ return "regExpGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", regObj);
+
+ return obj.property === "regExpGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js
new file mode 100644
index 000000000..cfedf4ef9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.get = function () {
+ return "jsonGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", JSON);
+
+ return obj.property === "jsonGetProperty";
+ } finally {
+ delete Object.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js
new file mode 100644
index 000000000..2830e0cde
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ JSON.get = function () {
+ return "jsonGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", JSON);
+
+ return obj.property === "jsonGetProperty";
+ } finally {
+ delete JSON.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js
new file mode 100644
index 000000000..3e739e7bc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Error.prototype.get = function () {
+ return "errorGetProperty";
+ };
+ var errObj = new Error();
+
+ Object.defineProperty(obj, "property", errObj);
+
+ return obj.property === "errorGetProperty";
+ } finally {
+ delete Error.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js
new file mode 100644
index 000000000..92cc776b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var errObj = new Error();
+
+ errObj.get = function () {
+ return "errorGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", errObj);
+
+ return obj.property === "errorGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js
new file mode 100644
index 000000000..789d24d38
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Object.prototype.get = function () {
+ return "argumentGetProperty";
+ };
+ var argObj = (function () { return arguments; })();
+
+ Object.defineProperty(obj, "property", argObj);
+
+ return obj.property === "argumentGetProperty";
+ } finally {
+ delete Object.prototype.get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js
new file mode 100644
index 000000000..9bc40fb50
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var argObj = (function () { return arguments; })();
+
+ argObj.get = function () {
+ return "argumentGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", argObj);
+
+ return obj.property === "argumentGetProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js
new file mode 100644
index 000000000..47aa51870
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited data property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var proto = {};
+ Object.defineProperty(proto, "enumerable", {
+ value: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js
new file mode 100644
index 000000000..8484603a6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js
+ * @description Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ fnGlobalObject().get = function () {
+ return "globalGetProperty";
+ };
+
+ Object.defineProperty(obj, "property", fnGlobalObject());
+
+ return obj.property === "globalGetProperty";
+ } finally {
+ delete fnGlobalObject().get;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js
new file mode 100644
index 000000000..fea20812e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js
+ * @description Object.defineProperty - value of 'get' property in 'Attributes' is undefined (8.10.5 step 7.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ get: undefined
+ });
+
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js
new file mode 100644
index 000000000..0447bb7ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js
+ * @description Object.defineProperty - value of 'get' property in 'Attributes' is a function (8.10.5 step 7.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return "getFunction";
+ }
+ });
+
+ return obj.hasOwnProperty("property") && obj.property === "getFunction";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js
new file mode 100644
index 000000000..a2e764714
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is present (8.10.5 step 8)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ Object.defineProperty(obj, "property", {
+ set: function (value) {
+ data = value;
+ }
+ });
+
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js
new file mode 100644
index 000000000..e0948cb01
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is not present (8.10.5 step 8)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 11;
+ }
+ });
+
+ obj.property = 14;
+ var desc = Object.getOwnPropertyDescriptor(obj, "property");
+ return obj.hasOwnProperty("property") && obj.property === 11 && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js
new file mode 100644
index 000000000..01ebd7ed7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own data property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ Object.defineProperty(obj, "property", {
+ set: function (value) {
+ data = value;
+ }
+ });
+
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js
new file mode 100644
index 000000000..e28e80d1d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is an inherited data property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var proto = {
+ set: function (value) {
+ data = value;
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js
new file mode 100644
index 000000000..da449b090
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data1 = "data";
+ var data2 = "data";
+ var proto = {
+ set: function (value) {
+ data1 = value;
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ child.set = function (value) {
+ data2 = value;
+ };
+
+ Object.defineProperty(obj, "property", child);
+
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data1 === "data" && data2 === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js
new file mode 100644
index 000000000..d233f83bc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var proto = {};
+ Object.defineProperty(proto, "enumerable", {
+ value: false
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "enumerable", {
+ value: true
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js
new file mode 100644
index 000000000..b700d1f2f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ var data1 = "data";
+ var data2 = "data";
+
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return function (value) {
+ data1 = value;
+ };
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "set", {
+ value: function (value) {
+ data2 = value;
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data1 === "data" && data2 === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js
new file mode 100644
index 000000000..c8c7891b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own accessor property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var attributes = {};
+ Object.defineProperty(attributes, "set", {
+ get: function () {
+ return function (value) {
+ data = value;
+ };
+ }
+ });
+
+ Object.defineProperty(obj, "property", attributes);
+ obj.property = "ownAccessorProperty";
+
+ return obj.hasOwnProperty("property") && data === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js
new file mode 100644
index 000000000..f7782bd5d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ var data = "data";
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return function (value) {
+ data = value;
+ };
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+ obj.property = "inheritedAccessorProperty";
+
+ return obj.hasOwnProperty("property") && data === "inheritedAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js
new file mode 100644
index 000000000..3bef63fbb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data1 = "data";
+ var data2 = "data";
+
+ var proto = {
+ set: function (value) {
+ data1 = value;
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "set", {
+ get: function () {
+ return function (value) {
+ data2 = value;
+ };
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+ obj.property = "ownAccessorProperty";
+
+ return obj.hasOwnProperty("property") && data1 === "data" && data2 === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js
new file mode 100644
index 000000000..f37addb0f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ var data1 = "data";
+ var data2 = "data";
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return function (value) {
+ data1 = value;
+ };
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "set", {
+ get: function () {
+ return function (value) {
+ data2 = value;
+ };
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+ obj.property = "ownAccessorProperty";
+
+ return obj.hasOwnProperty("property") && data1 === "data" && data2 === "ownAccessorProperty";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js
new file mode 100644
index 000000000..5020e9ea6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own accessor property without a get function (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var attributes = {};
+ Object.defineProperty(attributes, "set", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", attributes);
+
+ obj.property = "overrideOwnData";
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "property");
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined" &&
+ typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js
new file mode 100644
index 000000000..1ffebe496
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ var data = "data";
+ Object.defineProperty(proto, "set", {
+ get: function () {
+ return function (value) {
+ data = value;
+ };
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "set", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ obj.property = "overrideData";
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined" && data === "data";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js
new file mode 100644
index 000000000..62dd3cc30
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js
+ * @description Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var proto = {};
+ Object.defineProperty(proto, "set", {
+ set: function () { }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ obj.property = "overrideData";
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js
new file mode 100644
index 000000000..5061c2043
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ try {
+ Function.prototype.set = function (value) {
+ data = value;
+ };
+ var funObj = function () { };
+
+ Object.defineProperty(obj, "property", funObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Function.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js
new file mode 100644
index 000000000..9889a1e63
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var funObj = function () { };
+
+ funObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", funObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js
new file mode 100644
index 000000000..6e5756d4f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ try {
+ Array.prototype.set = function (value) {
+ data = value;
+ };
+ var arrObj = [];
+
+ Object.defineProperty(obj, "property", arrObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Array.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js
new file mode 100644
index 000000000..adacf132e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var arrObj = [];
+
+ arrObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", arrObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js
new file mode 100644
index 000000000..4e1a4c320
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var proto = {};
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "enumerable", {
+ value: true
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js
new file mode 100644
index 000000000..76523e026
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ String.prototype.set = function (value) {
+ data = value;
+ };
+ var strObj = new String();
+ var data = "data";
+
+ Object.defineProperty(obj, "property", strObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete String.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js
new file mode 100644
index 000000000..f4fd2da3d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var strObj = new String();
+ var data = "data";
+
+ strObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", strObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js
new file mode 100644
index 000000000..834bee8a8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ try {
+ Boolean.prototype.set = function (value) {
+ data = value;
+ };
+ var boolObj = new Boolean(true);
+
+ Object.defineProperty(obj, "property", boolObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Boolean.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js
new file mode 100644
index 000000000..3217dcffe
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var boolObj = new Boolean(true);
+
+ boolObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", boolObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js
new file mode 100644
index 000000000..6c5a49af1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ try {
+ Number.prototype.set = function (value) {
+ data = value;
+ };
+ var numObj = new Number(-2);
+
+ Object.defineProperty(obj, "property", numObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Number.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js
new file mode 100644
index 000000000..27c5d91a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var numObj = new Number(-2);
+
+ numObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", numObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js
new file mode 100644
index 000000000..489378c93
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ try {
+ Object.prototype.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", Math);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Object.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js
new file mode 100644
index 000000000..4c22f2062
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ try {
+ Math.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", Math);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Math.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js
new file mode 100644
index 000000000..ef34d02ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ try {
+ Date.prototype.set = function (value) {
+ data = value;
+ };
+ var dateObj = new Date();
+
+ Object.defineProperty(obj, "property", dateObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Date.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js
new file mode 100644
index 000000000..cd575d79d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var dateObj = new Date();
+
+ dateObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", dateObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js
new file mode 100644
index 000000000..3ec3d7c73
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ try {
+ RegExp.prototype.set = function (value) {
+ data = value;
+ };
+ var regObj = new RegExp();
+
+ Object.defineProperty(obj, "property", regObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete RegExp.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js
new file mode 100644
index 000000000..96c6d344a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js
+ * @description Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var regObj = new RegExp();
+
+ regObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", regObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js
new file mode 100644
index 000000000..178fb1e3b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ try {
+ Object.prototype.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", JSON);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Object.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js
new file mode 100644
index 000000000..2ced6345f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ try {
+ JSON.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", JSON);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete JSON.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js
new file mode 100644
index 000000000..cdb5929c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ try {
+ Error.prototype.set = function (value) {
+ data = value;
+ };
+ var errObj = new Error();
+
+ Object.defineProperty(obj, "property", errObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Error.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js
new file mode 100644
index 000000000..74585de0c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var errObj = new Error();
+
+ errObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", errObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js
new file mode 100644
index 000000000..72e5eac7c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ try {
+ Object.prototype.set = function (value) {
+ data = value;
+ };
+ var argObj = (function () { return arguments; })();
+
+ Object.defineProperty(obj, "property", argObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete Object.prototype.set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js
new file mode 100644
index 000000000..5616791cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+ var argObj = (function () { return arguments; })();
+ argObj.set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", argObj);
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js
new file mode 100644
index 000000000..0927cb53e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var attr = {};
+ Object.defineProperty(attr, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js
new file mode 100644
index 000000000..5631905cc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js
+ * @description Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ try {
+ fnGlobalObject().set = function (value) {
+ data = value;
+ };
+
+ Object.defineProperty(obj, "property", fnGlobalObject());
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ } finally {
+ delete fnGlobalObject().set;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js
new file mode 100644
index 000000000..c03bc76fa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js
+ * @description Object.defineProperty - value of 'set' property in 'Attributes' is undefined (8.10.5 step 8.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ set: undefined
+ });
+
+ obj.property = "overrideData";
+ var desc = Object.getOwnPropertyDescriptor(obj, "property");
+ return obj.hasOwnProperty("property") && typeof obj.property === "undefined" &&
+ typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js
new file mode 100644
index 000000000..339456826
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js
+ * @description Object.defineProperty - value of 'set' property in 'Attributes' is a function (8.10.5 step 8.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var data = "data";
+
+ Object.defineProperty(obj, "property", {
+ set: function (value) {
+ data = value;
+ }
+ });
+ obj.property = "overrideData";
+
+ return obj.hasOwnProperty("property") && data === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js
new file mode 100644
index 000000000..4037e4dc1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var proto = {};
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js
new file mode 100644
index 000000000..caa27152b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var proto = { enumerable: false };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(child, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js
new file mode 100644
index 000000000..565540ee0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ var proto = {};
+
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(child, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js
new file mode 100644
index 000000000..56f5aea76
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js
+ * @description Object.defineProperty throws TypeError if desc has 'set' and 'value' present(8.10.5 step 9.a)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy setter
+ var setter = function () { }
+ var desc = { set: setter, value: 101};
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js
new file mode 100644
index 000000000..b0b6f1e62
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var attr = {};
+ Object.defineProperty(attr, "enumerable", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js
new file mode 100644
index 000000000..840550aed
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ var proto = {};
+
+ Object.defineProperty(proto, "enumerable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(child, "enumerable", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js
new file mode 100644
index 000000000..bdbf9f307
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js
+ * @description Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ var proto = {};
+
+ Object.defineProperty(proto, "enumerable", {
+ set: function () { }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js
new file mode 100644
index 000000000..bc680ec26
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Function.prototype.enumerable = true;
+ var fun = function () { };
+
+ Object.defineProperty(obj, "property", fun);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete Function.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js
new file mode 100644
index 000000000..703d0e9e0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var fun = function () { };
+ fun.enumerable = true;
+
+ Object.defineProperty(obj, "property", fun);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js
new file mode 100644
index 000000000..32d9d2675
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Array.prototype.enumerable = true;
+ var arrObj = [];
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete Array.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js
new file mode 100644
index 000000000..914b4e503
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var arrObj = [];
+ arrObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js
new file mode 100644
index 000000000..14a877ffc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ String.prototype.enumerable = true;
+ var strObj = new String();
+
+ Object.defineProperty(obj, "property", strObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete String.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js
new file mode 100644
index 000000000..42d4b5118
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var strObj = new String();
+ strObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", strObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js
new file mode 100644
index 000000000..b62e29977
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Boolean.prototype.enumerable = true;
+ var boolObj = new Boolean(true);
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete Boolean.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js
new file mode 100644
index 000000000..bcf2dc2a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var boolObj = new Boolean(true);
+ boolObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js
new file mode 100644
index 000000000..fac054833
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Number.prototype.enumerable = true;
+ var numObj = new Number(-2);
+
+ Object.defineProperty(obj, "property", numObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete Number.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js
new file mode 100644
index 000000000..a444a1851
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var numObj = new Number(-2);
+ numObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", numObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js
new file mode 100644
index 000000000..be3695587
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Object.prototype.enumerable = true;
+
+ Object.defineProperty(obj, "property", Math);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ } finally {
+ delete Object.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js
new file mode 100644
index 000000000..fdfda94cc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ try {
+ Math.enumerable = true;
+
+ Object.defineProperty(obj, "property", Math);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ } finally {
+ delete Math.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js
new file mode 100644
index 000000000..7cdf9d6fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ try {
+ Date.prototype.enumerable = true;
+ var dateObj = new Date();
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ } finally {
+ delete Date.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js
new file mode 100644
index 000000000..0124c5de6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var dateObj = new Date();
+ dateObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js
new file mode 100644
index 000000000..38b2e1248
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js
+ * @description Object.defineProperty throws TypeError if desc has 'set' and 'writable' present(8.10.5 step 9.a)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var setter = function () { }
+ var desc = { set: setter, writable: false };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js
new file mode 100644
index 000000000..a68579f65
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js
+ * @description Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ RegExp.prototype.enumerable = true;
+ var regObj = new RegExp();
+
+ Object.defineProperty(obj, "property", regObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete RegExp.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js
new file mode 100644
index 000000000..d0ce8651d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js
+ * @description Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var regObj = new RegExp();
+ regObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", regObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js
new file mode 100644
index 000000000..788a8ebe9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Object.prototype.enumerable = true;
+
+ Object.defineProperty(obj, "property", JSON);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete Object.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js
new file mode 100644
index 000000000..cd84c6eb0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ try {
+ JSON.enumerable = true;
+
+ Object.defineProperty(obj, "property", JSON);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete JSON.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js
new file mode 100644
index 000000000..b2bca21a4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Error.prototype.enumerable = true;
+ var errObj = new Error();
+
+ Object.defineProperty(obj, "property", errObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete Error.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js
new file mode 100644
index 000000000..ed1da0d15
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var errObj = new Error();
+ errObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", errObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js
new file mode 100644
index 000000000..5790e1a9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ try {
+ Object.prototype.enumerable = true;
+ var argObj = (function () { return arguments; })();
+
+ Object.defineProperty(obj, "property", argObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete Object.prototype.enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js
new file mode 100644
index 000000000..6f5d08431
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ var argObj = (function () { return arguments; })();
+ argObj.enumerable = true;
+
+ Object.defineProperty(obj, "property", argObj);
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js
new file mode 100644
index 000000000..85d935d28
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js
+ * @description Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ try {
+ fnGlobalObject().enumerable = true;
+
+ Object.defineProperty(obj, "property", fnGlobalObject());
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+
+ return accessed;
+ } finally {
+ delete fnGlobalObject().enumerable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js
new file mode 100644
index 000000000..b5907902e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is undefined (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", {
+ enumerable: undefined
+ });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js
new file mode 100644
index 000000000..0e2140f13
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is null (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: null });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js
new file mode 100644
index 000000000..0752e2125
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is true (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: true });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js
new file mode 100644
index 000000000..40189fbdf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is false (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: false });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js
new file mode 100644
index 000000000..559a5accd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js
+ * @description Object.defineProperty throws TypeError if getter is not callable but not undefined (Number)(8.10.5 step 7.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var getter = 42;
+ var desc = { get: getter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js
new file mode 100644
index 000000000..a6937df22
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is 0 (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: 0 });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js
new file mode 100644
index 000000000..2605c9907
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is +0 (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: +0 });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js
new file mode 100644
index 000000000..e1265b035
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is -0 (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: -0 });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js
new file mode 100644
index 000000000..875759b53
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is NaN (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: NaN });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js
new file mode 100644
index 000000000..e3ae17eb9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a positive number (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: 12 });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js
new file mode 100644
index 000000000..2a2b3e6cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a negative number (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: -2 });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js
new file mode 100644
index 000000000..8af3547fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is an empty string (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: "" });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return !accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js
new file mode 100644
index 000000000..00d6604c9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a non-empty string (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: "AB\n\\cd" });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js
new file mode 100644
index 000000000..59903bcad
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Function object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", {
+ enumerable: function () { }
+ });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js
new file mode 100644
index 000000000..de3745904
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Array object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: [] });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js
new file mode 100644
index 000000000..70853497f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js
+ * @description Object.defineProperty throws TypeError if getter is not callable but not undefined (Boolean)(8.10.5 step 7.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var getter = true;
+ var desc = { get: getter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js
new file mode 100644
index 000000000..2b5f747cc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a String Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: new String() });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js
new file mode 100644
index 000000000..cea509610
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Boolean Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: new Boolean() });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js
new file mode 100644
index 000000000..b8c3c98dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Number Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: new Number() });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js
new file mode 100644
index 000000000..af30f4381
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is the Math Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: Math });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js
new file mode 100644
index 000000000..a68f03c49
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Date Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: new Date() });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js
new file mode 100644
index 000000000..afa5e636e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is a RegExp Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: new RegExp() });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js
new file mode 100644
index 000000000..e65353c0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is the JSON Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: JSON });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js
new file mode 100644
index 000000000..0d5173752
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Error Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: new Error() });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js
new file mode 100644
index 000000000..ec8b8e0f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Arguments Object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+ var argObj = (function () { return arguments; })(0, 1, 2);
+
+ Object.defineProperty(obj, "property", { enumerable: argObj });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js
new file mode 100644
index 000000000..e867ea920
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js
+ * @description Object.defineProperty throws TypeError if getter is not callable but not undefined (String)(8.10.5 step 7.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var getter = "abc";
+ var desc = { get: getter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js
new file mode 100644
index 000000000..5f7d0647d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is the global object (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: fnGlobalObject() });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js
new file mode 100644
index 000000000..73ea56ed1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: "false" });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js
new file mode 100644
index 000000000..3a9f63d88
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js
+ * @description Object.defineProperty - value of 'enumerable' property in 'Attributes' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var accessed = false;
+
+ Object.defineProperty(obj, "property", { enumerable: new Boolean(false) });
+
+ for (var prop in obj) {
+ if (prop === "property") {
+ accessed = true;
+ }
+ }
+ return accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js
new file mode 100644
index 000000000..9ee8bd0fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is present (8.10.5 step 4)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ configurable: false
+ });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js
new file mode 100644
index 000000000..1dbcd9c44
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is not present (8.10.5 step 4)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { value: 100 });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = (obj.property === 100);
+
+ return beforeDeleted === true && afterDeleted === true;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js
new file mode 100644
index 000000000..94533cfc5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own data property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", {
+ configurable: true
+ });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js
new file mode 100644
index 000000000..305d73d36
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is an inherited data property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {
+ configurable: false
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+ return beforeDeleted && afterDeleted && typeof (obj.property) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js
new file mode 100644
index 000000000..12433a414
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var proto = {
+ configurable: false
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ child.configurable = true;
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js
new file mode 100644
index 000000000..5be6dd7b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = { };
+
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "configurable", {
+ value: true
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js
new file mode 100644
index 000000000..4175842a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var attr = {};
+ Object.defineProperty(attr, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js
new file mode 100644
index 000000000..f070af2de
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js
+ * @description Object.defineProperty throws TypeError if getter is not callable but not undefined (Null)(8.10.5 step 7.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var getter = null;
+ var desc = { get: getter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js
new file mode 100644
index 000000000..db5a7464f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js
new file mode 100644
index 000000000..bf485f46d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {
+ configurable: false
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js
new file mode 100644
index 000000000..d265b6805
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return false;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js
new file mode 100644
index 000000000..27a21d228
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var attr = {};
+ Object.defineProperty(attr, "configurable", {
+ set : function () { }
+ });
+
+ Object.defineProperty(obj, "property", attr);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js
new file mode 100644
index 000000000..0cfa9e063
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "configurable", {
+ get: function () {
+ return true;
+ }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ Object.defineProperty(child, "configurable", {
+ set: function () { }
+ });
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js
new file mode 100644
index 000000000..7420d0721
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+ Object.defineProperty(proto, "configurable", {
+ set: function () { }
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(obj, "property", child);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js
new file mode 100644
index 000000000..a022d8dbb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property of prototype object (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Function.prototype.configurable = true;
+ var funObj = function (a, b) {
+ return a + b;
+ };
+
+ Object.defineProperty(obj, "property", funObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Function.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js
new file mode 100644
index 000000000..7c42458c8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js
+ * @description Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var funObj = function (a, b) {
+ return a + b;
+ };
+
+ funObj.configurable = true;
+
+ Object.defineProperty(obj, "property", funObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js
new file mode 100644
index 000000000..16d63cc9e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Array.prototype.configurable = true;
+ var arrObj = [1, 2, 3];
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Array.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js
new file mode 100644
index 000000000..ee6ec80e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js
+ * @description Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var arrObj = [1, 2, 3];
+
+ arrObj.configurable = true;
+
+ Object.defineProperty(obj, "property", arrObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js
new file mode 100644
index 000000000..b7f66c6e5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ String.prototype.configurable = true;
+ var strObj = new String("abc");
+
+ Object.defineProperty(obj, "property", strObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete String.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js
new file mode 100644
index 000000000..1b09e4b5a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js
+ * @description Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var strObj = new String("abc");
+
+ strObj.configurable = true;
+
+ Object.defineProperty(obj, "property", strObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js
new file mode 100644
index 000000000..565cfc2c7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Boolean.prototype.configurable = true;
+ var boolObj = new Boolean(true);
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Boolean.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js
new file mode 100644
index 000000000..31ea733f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js
+ * @description Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var boolObj = new Boolean(true);
+
+ boolObj.configurable = true;
+
+ Object.defineProperty(obj, "property", boolObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js
new file mode 100644
index 000000000..4a6c3770c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-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.
+
+/**
+ * The abtract operation ToPropertyDescriptor is used to package the
+ * into a property desc. Step 10 of ToPropertyDescriptor throws a TypeError
+ * if the property desc ends up having a mix of accessor and data property elements.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js
+ * @description Object.defineProperty throws TypeError if getter is not callable but not undefined (Object)(8.10.5 step 7.b)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // dummy getter
+ var getter = { a: 1 };
+ var desc = { get: getter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js
new file mode 100644
index 000000000..c75e3d94e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Number.prototype.configurable = true;
+ var numObj = new Number(-2);
+
+ Object.defineProperty(obj, "property", numObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Number.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js
new file mode 100644
index 000000000..07cc28ff8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js
+ * @description Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var numObj = new Number(-2);
+
+ numObj.configurable = true;
+
+ Object.defineProperty(obj, "property", numObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js
new file mode 100644
index 000000000..713bef8da
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.configurable = true;
+
+ Object.defineProperty(obj, "property", Math);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Object.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js
new file mode 100644
index 000000000..819b00265
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js
+ * @description Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Math.configurable = true;
+
+ Object.defineProperty(obj, "property", Math);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Math.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js
new file mode 100644
index 000000000..df4a94624
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Date.prototype.configurable = true;
+ var dateObj = new Date();
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Date.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js
new file mode 100644
index 000000000..51a941533
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js
+ * @description Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var dateObj = new Date();
+
+ dateObj.configurable = true;
+
+ Object.defineProperty(obj, "property", dateObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js
new file mode 100644
index 000000000..1ae7a0c57
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js
+ * @description Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ RegExp.prototype.configurable = true;
+ var regObj = new RegExp();
+
+ Object.defineProperty(obj, "property", regObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete RegExp.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js
new file mode 100644
index 000000000..30f6b1a49
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js
+ * @description Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var regObj = new RegExp();
+
+ regObj.configurable = true;
+
+ Object.defineProperty(obj, "property", regObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js
new file mode 100644
index 000000000..6509a68a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.configurable = true;
+
+ Object.defineProperty(obj, "property", JSON);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Object.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js
new file mode 100644
index 000000000..edea37cc1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js
+ * @description Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ JSON.configurable = true;
+
+ Object.defineProperty(obj, "property", JSON);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete JSON.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js
new file mode 100644
index 000000000..8984c5241
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+ try {
+ Error.prototype.configurable = true;
+ var errObj = new Error();
+
+ Object.defineProperty(obj, "property", errObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Error.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js
new file mode 100644
index 000000000..13846469b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js
+ * @description Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ var errObj = new Error();
+
+ errObj.configurable = true;
+
+ Object.defineProperty(obj, "property", errObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js
new file mode 100644
index 000000000..0953340b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ Object.prototype.configurable = true;
+ var argObj = (function () { return arguments; })();
+
+ Object.defineProperty(obj, "property", argObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete Object.prototype.configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js
new file mode 100644
index 000000000..b0296f1f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js
+ * @description Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var argObj = (function () { return arguments; })();
+ argObj.configurable = true;
+
+ Object.defineProperty(obj, "property", argObj);
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js
new file mode 100644
index 000000000..8c592462a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js
+ * @description Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ try {
+ fnGlobalObject().configurable = true;
+
+ Object.defineProperty(obj, "property", fnGlobalObject());
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property");
+
+ return beforeDeleted === true && afterDeleted === false;
+ } finally {
+ delete fnGlobalObject().configurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js
new file mode 100644
index 000000000..92f99e338
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js
+ * @description Object.defineProperty - 'configurable' property in 'Attributes' is undefined (8.10.5 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = { };
+
+ Object.defineProperty(obj, "property", { configurable: undefined });
+
+ var beforeDeleted = obj.hasOwnProperty("property");
+
+ delete obj.property;
+
+ var afterDeleted = obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+
+ return beforeDeleted === true && afterDeleted === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js
new file mode 100644
index 000000000..c02e555ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O passing 'true' for the Throw flag. In this case, step 3 of
+ * [[DefineOwnProperty]] requires that it throw a TypeError exception when
+ * current is undefined and extensible is false. The value of desc does not
+ * matter.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js
+ * @description Object.defineProperty throws TypeError when adding properties to non-extensible objects(8.12.9 step 3)
+ */
+
+
+function testcase() {
+ var o = {};
+ Object.preventExtensions(o);
+
+ try {
+ var desc = { value: 1 };
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError &&
+ (o.hasOwnProperty("foo") === false)) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js
new file mode 100644
index 000000000..444c2abb0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. Step 7b of [[DefineOwnProperty]] rejects if
+ * current.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations
+ * of each other.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js
+ * @description Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable accessor properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create an accessor property; all other attributes default to false.
+ // dummy getter
+ var getter = function () { return 1; }
+ var d1 = { get: getter, enumerable: false, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, setting enumerable to true should fail, since [[Configurable]]
+ // on the original property will be false.
+ var desc = { get: getter, enumerable: true };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.get === getter &&
+ d2.enumerable === false &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js
new file mode 100644
index 000000000..8fe974483
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js
+ * @description Object.defineProperty - 'name' and 'desc' are data properties, desc.value and name.value are two different values (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = 100; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", {
+ value: 200
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js
new file mode 100644
index 000000000..b1f1ceefc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js
+ * @description Object.defineProperty - 'name' and 'desc' are data properties, name.value is present and desc.value is undefined (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = 100; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", { value: undefined });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js
new file mode 100644
index 000000000..0145ea5d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js
+ * @description Object.defineProperty - 'name' and 'desc' are data properties, desc.value is present and name.value is undefined (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = undefined; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", { value: 100 });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 100, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js
new file mode 100644
index 000000000..4b69622db
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js
+ * @description Object.defineProperty - 'name' and 'desc' are data properties, name.writable and desc.writable are different values (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ writable: false, configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ writable: true
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js
new file mode 100644
index 000000000..f24e8b06c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js
+ * @description Object.defineProperty - 'name' and 'desc' are data properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: true
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js
new file mode 100644
index 000000000..1077473e6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js
+ * @description Object.defineProperty - 'name' and 'desc' are data properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 200,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js
new file mode 100644
index 000000000..90bcd61b3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js
+ * @description Object.defineProperty - 'name' and 'desc' are data properties, several attributes values of name and desc are different (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 100,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ value: 200,
+ writable: false,
+ enumerable: false
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 200, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js
new file mode 100644
index 000000000..19341c7a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Get]] and name.[[Get]] are two different values (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 10;
+ }
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc,
+ configurable: true
+ });
+
+ function getFunc2() {
+ return 20;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc2
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc2, setFunc, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js
new file mode 100644
index 000000000..87cc0c670
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is present and desc.[[Get]] is undefined (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 10;
+ }
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc,
+ get: undefined
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js
new file mode 100644
index 000000000..99a6f1d5b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is undefined and desc.[[Get]] is function (8.12.9 step 12)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc,
+ get: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ function getFunc() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js
new file mode 100644
index 000000000..5697d246f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. Step 7b of [[DefineOwnProperty]] rejects if
+ * current.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations
+ * of each other.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js
+ * @description Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable accessor properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create an accessor property; all other attributes default to false.
+ // dummy getter
+ var getter = function () { return 1; }
+ var d1 = { get: getter, enumerable: true, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, setting enumerable to true should fail, since [[Configurable]]
+ // on the original property will be false.
+ var desc = { get: getter, enumerable: false };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.get === getter &&
+ d2.enumerable === true &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js
new file mode 100644
index 000000000..374120f0f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Set]] and name.[[Set]] are two different values (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function setFunc1() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc1,
+ enumerable: true,
+ configurable: true
+ });
+
+ function setFunc2(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc2
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc2, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js
new file mode 100644
index 000000000..1c8c5175c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is present and desc.[[Set]] is undefined (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 10;
+ }
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ set: undefined,
+ get: getFunc
+ });
+
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+ return obj.hasOwnProperty("foo") && typeof (desc.set) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js
new file mode 100644
index 000000000..365e6652c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is undefined and desc.[[Set]] is function (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: undefined,
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js
new file mode 100644
index 000000000..582018005
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ enumerable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, undefined, undefined, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js
new file mode 100644
index 000000000..fda29bf63
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ function getFunc() {
+ return 10;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ configurable: false
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js
new file mode 100644
index 000000000..9fdf5e982
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js
+ * @description Object.defineProperty - 'name' and 'desc' are accessor properties, several attributes values of 'name' and 'desc' are different (8.12.9 step 12)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc1() {
+ return 10;
+ }
+ function setFunc1() {}
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc1,
+ set: setFunc1,
+ enumerable: true,
+ configurable: true
+ });
+
+ function getFunc2() {
+ return 20;
+ }
+ function setFunc2(value) {
+ obj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(obj, "foo", {
+ get: getFunc2,
+ set: setFunc2,
+ enumerable: false
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc2, setFunc2, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js
new file mode 100644
index 000000000..cb2bf88c2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js
+ * @description Object.defineProperty - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+ Object.defineProperty(arrObj, "1", {
+ value: 1,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arrObj, "length", { value: 1 });
+ return false;
+ } catch (e) {
+ var desc = Object.getOwnPropertyDescriptor(arrObj, "length");
+
+ return Object.hasOwnProperty.call(arrObj, "length") && desc.value === 2 &&
+ desc.writable === true && desc.configurable === false && desc.enumerable === false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js
new file mode 100644
index 000000000..2789ee94b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [0, 1, 2];
+ var arrProtoLen;
+
+ try {
+ arrProtoLen = Array.prototype.length;
+ Array.prototype.length = 0;
+
+
+ Object.defineProperty(arrObj, "2", {
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 3 && Array.prototype.length === 0;
+ } finally {
+ Array.prototype.length = arrProtoLen;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js
new file mode 100644
index 000000000..4fe42bca6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {});
+
+ var verifyValue = false;
+ if (arrObj.length === 0) {
+ verifyValue = true;
+ }
+
+ arrObj.length = 2;
+ var verifyWritable = arrObj.length === 2;
+
+ var verifyEnumerable = false;
+ for (var p in arrObj) {
+ if (p === "length" && arrObj.hasOwnProperty(p)) {
+ verifyEnumerable = true;
+ }
+ }
+
+ delete arrObj.length;
+ var verifyConfigurable = arrObj.hasOwnProperty("length");
+
+ return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js
new file mode 100644
index 000000000..1b0bdce41
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ Object.defineProperty(arrObj, "length", {
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+
+ var verifyValue = false;
+ if (arrObj.length === 0) {
+ verifyValue = true;
+ }
+
+ arrObj.length = 2;
+ var verifyWritable = arrObj.length === 2 ? true : false;
+
+ var verifyEnumerable = false;
+ for (var p in arrObj) {
+ if (p === "length" && arrObj.hasOwnProperty(p)) {
+ verifyEnumerable = true;
+ }
+ }
+
+ delete arrObj.length;
+ var verifyConfigurable = arrObj.hasOwnProperty("length");
+
+ return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js
new file mode 100644
index 000000000..c13dcf5c4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 9a of
+ * [[DefineOwnProperty]] rejects changing the kind of a property.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js
+ * @description Object.defineProperty throws TypeError when changing non-configurable data properties to accessor properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create a data valued property; all other attributes default to false.
+ var d1 = { value: 101, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ // changing "foo" to be an accessor should fail, since [[Configurable]]
+ // on the original property will be false.
+
+ // dummy getter
+ var getter = function () { return 1; }
+
+ var desc = { get: getter };
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain a data valued property.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.value === 101 &&
+ d2.writable === false &&
+ d2.enumerable === false &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js
new file mode 100644
index 000000000..992c8a3ae
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ try {
+ Object.defineProperty(arrObj, "length", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js
new file mode 100644
index 000000000..7b29ee58d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ try {
+ Object.defineProperty(arrObj, "length", {
+ enumerable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js
new file mode 100644
index 000000000..6e153365b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ try {
+ Object.defineProperty(arrObj, "length", {
+ get: function () {
+ return 2;
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js
new file mode 100644
index 000000000..d97548453
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ try {
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+ Object.defineProperty(arrObj, "length", {
+ writable: true
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js
new file mode 100644
index 000000000..b9749d4c5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "length", 0, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js
new file mode 100644
index 000000000..7366a9964
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test that RangeError exception is thrown when [[Value]] field of 'desc' is undefined (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: undefined
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js
new file mode 100644
index 000000000..76e5caef2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is null (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: null
+ });
+ return arrObj.length === 0;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js
new file mode 100644
index 000000000..dfe1d08ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: false
+ });
+ return arrObj.length === 0 && !arrObj.hasOwnProperty("0") && !arrObj.hasOwnProperty("1");
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js
new file mode 100644
index 000000000..ce581287e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: true
+ });
+ return arrObj.length === 1;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js
new file mode 100644
index 000000000..bced392cc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 0
+ });
+ return arrObj.length === 0;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js
new file mode 100644
index 000000000..9095008df
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 9a of
+ * [[DefineOwnProperty]] rejects changing the kind of a property.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js
+ * @description Object.defineProperty throws TypeError when changing non-configurable accessor properties to data properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create an accessor property; all other attributes default to false.
+
+ // dummy getter
+ var getter = function () { return 1; }
+ var d1 = { get: getter, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ // changing "foo" to be a data property should fail, since [[Configurable]]
+ // on the original property will be false.
+ var desc = { value: 101 };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain an accessor property.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.get === getter &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js
new file mode 100644
index 000000000..7d768fb6d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: +0
+ });
+ return arrObj.length === 0;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js
new file mode 100644
index 000000000..a5bd4938c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: -0
+ });
+ return arrObj.length === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js
new file mode 100644
index 000000000..7f82f53f8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a positive number (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 12
+ });
+ return arrObj.length === 12;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js
new file mode 100644
index 000000000..0bceacda5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a negative number (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: -9
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js
new file mode 100644
index 000000000..6fc4fbab0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: +Infinity
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js
new file mode 100644
index 000000000..dda225526
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: -Infinity
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js
new file mode 100644
index 000000000..ed6b2bb54
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: NaN
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js
new file mode 100644
index 000000000..33abf39a0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: "2"
+ });
+ return arrObj.length === 2;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js
new file mode 100644
index 000000000..123760ddd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: "-42"
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js
new file mode 100644
index 000000000..507dde48d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: "200.59"
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js
new file mode 100644
index 000000000..faeb0c145
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For configurable properties, step 9b of
+ * [[DefineOwnProperty]] permits changing the kind of a property.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js
+ * @description Object.defineProperty permits changing data property to accessor property for configurable properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create a data property. In this case,
+ // [[Enumerable]] and [[Configurable]] are true
+ o["foo"] = 101;
+
+ // changing "foo" to be an accessor should succeed, since [[Configurable]]
+ // on the original property will be true. Existing values of [[Configurable]]
+ // and [[Enumerable]] need to be preserved and the rest need to be set to
+ // their default values
+
+ // dummy getter
+ var getter = function () { return 1; }
+ var d1 = { get: getter };
+ Object.defineProperty(o, "foo", d1);
+
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (d2.get === getter &&
+ d2.enumerable === true &&
+ d2.configurable === true) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js
new file mode 100644
index 000000000..cafd8909a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: "+Infinity"
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js
new file mode 100644
index 000000000..20b13b9d7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: "-Infinity"
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js
new file mode 100644
index 000000000..3490e41b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: "2E3"
+ });
+ return arrObj.length === 2E3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js
new file mode 100644
index 000000000..e7c9b6b74
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a hex number (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: "0x00B"
+ });
+ return arrObj.length === 0x00B;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js
new file mode 100644
index 000000000..e6c7dbe4b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a number with leading zeros (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: "0002.0"
+ });
+ return arrObj.length === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js
new file mode 100644
index 000000000..ae55da0eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: "two"
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js
new file mode 100644
index 000000000..a33f1201f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js
+ * @description Object.defineProperty - '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 method (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: {
+ toString: function () {
+ return '2';
+ }
+ }
+ });
+ return arrObj.length === 2;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js
new file mode 100644
index 000000000..6035fac0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: {
+ valueOf: function () {
+ return 2;
+ }
+ }
+ });
+ return arrObj.length === 2;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js
new file mode 100644
index 000000000..99ef5853b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ Object.defineProperty(arrObj, "length", {
+ value: {
+ toString: function () {
+ toStringAccessed = true;
+ return '2';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ });
+ return arrObj.length === 2 && toStringAccessed && valueOfAccessed;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js
new file mode 100644
index 000000000..a7f414455
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ Object.defineProperty(arrObj, "length", {
+ value: {
+ toString: function () {
+ toStringAccessed = true;
+ return '2';
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return 3;
+ }
+ }
+ });
+ return arrObj.length === 3 && !toStringAccessed && valueOfAccessed;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js
new file mode 100644
index 000000000..7d5c5cad9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For configurable properties, step 9c of
+ * [[DefineOwnProperty]] permits changing the kind of a property.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js
+ * @description Object.defineProperty permits changing accessor property to data property for configurable properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // define an accessor property
+ // dummy getter
+ var getter = function () { return 1; }
+ var d1 = { get: getter, configurable: true };
+ Object.defineProperty(o, "foo", d1);
+
+ // changing "foo" to be a data valued property should succeed, since
+ // [[Configurable]] on the original property will be true. Existing
+ // values of [[Configurable]] and [[Enumerable]] need to be preserved
+ // and the rest need to be set to their default values.
+ var desc = { value: 101 };
+ Object.defineProperty(o, "foo", desc);
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (d2.value === 101 &&
+ d2.writable === false &&
+ d2.enumerable === false &&
+ d2.configurable === true) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js
new file mode 100644
index 000000000..9876e2df4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: {
+ toString: function () {
+ toStringAccessed = true;
+ return {};
+ },
+
+ valueOf: function () {
+ valueOfAccessed = true;
+ return {};
+ }
+ }
+ });
+ return false;
+
+ } catch (e) {
+ return e instanceof TypeError && toStringAccessed && valueOfAccessed;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js
new file mode 100644
index 000000000..d4980a9fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', and the [[Value]] field of 'desc' is an Object with an own toString method and an inherited valueOf method (15.4.5.1 step 3.c), test that the inherited valueOf method is used
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ var toStringAccessed = false;
+ var valueOfAccessed = false;
+
+ var proto = {
+ valueOf: function () {
+ valueOfAccessed = true;
+ return 2;
+ }
+ };
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+ child.toString = function () {
+ toStringAccessed = true;
+ return 3;
+ };
+
+ Object.defineProperty(arrObj, "length", {
+ value: child
+ });
+ return arrObj.length === 2 && !toStringAccessed && valueOfAccessed;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js
new file mode 100644
index 000000000..7d20feadf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a positive non-integer values (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: 123.5
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js
new file mode 100644
index 000000000..41805a830
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a negative non-integer values (15.4.5.1 step 3.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: -4294967294.5
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js
new file mode 100644
index 000000000..221141363
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 4294967294
+ });
+
+ return arrObj.length === 4294967294;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js
new file mode 100644
index 000000000..3cc17d2b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 4294967295
+ });
+
+ return arrObj.length === 4294967295;
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js
new file mode 100644
index 000000000..dcf72595c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: 4294967296
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js
new file mode 100644
index 000000000..e037893e9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: 4294967297
+ });
+ return false;
+ } catch (e) {
+ return e instanceof RangeError;
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js
new file mode 100644
index 000000000..633e9c2f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value greater than the existing value of length (15.4.5.1 step 3.f)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, , 2];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 5
+ });
+
+ return arrObj.length === 5 && arrObj[0] === 0 &&
+ !arrObj.hasOwnProperty("1") && arrObj[2] === 2 &&
+ !arrObj.hasOwnProperty("4");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js
new file mode 100644
index 000000000..05aa555ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 10.a.i
+ * of [[DefineOwnProperty]] rejects if relaxing the [[Writable]] attribute.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js
+ * @description Object.defineProperty throws TypeError when relaxing [[Writable]] on non-configurable data properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create a data valued property; all other attributes default to false.
+ var d1 = { value: 101 };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, relaxing [[Writable]] on "foo" should fail, since both
+ // [[Configurable]] and [[Writable]] on the original property will be false.
+ var desc = { value: 101, writable: true };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.value === 101 &&
+ d2.writable === false &&
+ d2.enumerable === false &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js
new file mode 100644
index 000000000..191fb241c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value equal to the existing value of length (15.4.5.1 step 3.f)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, , 2];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 3
+ });
+
+ return arrObj.length === 3 && arrObj[0] === 0 && !arrObj.hasOwnProperty("1") && arrObj[2] === 2;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js
new file mode 100644
index 000000000..702a345ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value lesser than the existing value of length and test that indexes beyond the new length are deleted(15.4.5.1 step 3.f)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+ return arrObj.length === 1 && !arrObj.hasOwnProperty("1");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js
new file mode 100644
index 000000000..60eb5d27b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: 12
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js
new file mode 100644
index 000000000..ed38ee602
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test no TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: 0
+ });
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js
new file mode 100644
index 000000000..ef57cdf35
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: 0
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js
new file mode 100644
index 000000000..8eb6cf18e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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 after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+
+ var indexDeleted = !arrObj.hasOwnProperty("1");
+
+ arrObj.length = 10;
+
+ return indexDeleted && arrObj.length === 10;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js
new file mode 100644
index 000000000..d0dcc1562
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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 after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1,
+ writable: true
+ });
+
+ var indexDeleted = !arrObj.hasOwnProperty("1");
+
+ arrObj.length = 10;
+
+ return indexDeleted && arrObj.length === 10;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js
new file mode 100644
index 000000000..b183122f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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 after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1,
+ writable: false
+ });
+
+ var indexDeleted = !arrObj.hasOwnProperty("1");
+
+ arrObj.length = 10;
+
+ return indexDeleted && arrObj.length === 1;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js
new file mode 100644
index 000000000..3dc7dff24
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', whose writable attribute is being changed to false and the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable:false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.i.iii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1, 2];
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "length", {
+ value: 0,
+ writable: false
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js
new file mode 100644
index 000000000..b424929a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, and TypeError is thrown (15.4.5.1 step 3.l.i)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1, 2];
+
+ Object.defineProperty(arrObj, "1", {
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "2", {
+ configurable: true
+ });
+
+ try {
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2 && !arrObj.hasOwnProperty("2");
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js
new file mode 100644
index 000000000..4decdc644
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 10.a.ii.1
+ * of [[DefineOwnProperty]] rejects changing the value of non-writable properties.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js
+ * @description Object.defineProperty throws TypeError when changing value of non-writable non-configurable data properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create a data valued property; all other attributes default to false.
+ var d1 = { value: 101 };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, trying to change the value of "foo" should fail, since both
+ // [[Configurable]] and [[Writable]] on the original property will be false.
+ var desc = { value: 102 };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (d2.value === 101 &&
+ d2.writable === false &&
+ d2.enumerable === false &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js
new file mode 100644
index 000000000..1869aeb2d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js
new file mode 100644
index 000000000..9bd54a02d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+ try {
+ Array.prototype[1] = 2; // Not setting 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.defineProperty(arrObj, "length", {
+ value: 1
+ });
+ return arrObj.length === 1 && !arrObj.hasOwnProperty("1");
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js
new file mode 100644
index 000000000..fbb5e410d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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 an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+ try {
+ Object.defineProperty(arrObj, "1", {
+ configurable: false
+ });
+
+ Array.prototype[1] = 2;
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js
new file mode 100644
index 000000000..58f2ada94
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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 an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+ try {
+ Object.defineProperty(arrObj, "1", {
+ configurable: false
+ });
+
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js
new file mode 100644
index 000000000..a3d3d1542
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js
new file mode 100644
index 000000000..550606404
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+ try {
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: true // Not setting 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.defineProperty(arrObj, "length", {
+ value: 1
+ });
+
+ return arrObj.length === 1 && !arrObj.hasOwnProperty("1");
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js
new file mode 100644
index 000000000..f2f17acab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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 an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+ try {
+ Object.defineProperty(arrObj, "1", {
+ get: function () {
+ return 2;
+ },
+ configurable: false
+ });
+
+ Array.prototype[1] = 2;
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js
new file mode 100644
index 000000000..f62388b4d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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 an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+ try {
+ Object.defineProperty(arrObj, "1", {
+ get: function () {
+ return 1;
+ },
+ configurable: false
+ });
+
+ Object.defineProperty(Array.prototype, "1", {
+ get: function () {
+ return 2;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
+ } finally {
+ delete Array.prototype[1];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js
new file mode 100644
index 000000000..f37414ed6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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' is deleted (15.4.5.1 step 3.l.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 1
+ });
+
+ return !arrObj.hasOwnProperty("1");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js
new file mode 100644
index 000000000..c9cadcf50
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test value of the length property is same as [[Value]] (15.4.5.1 step 3.l.iii.1)
+ */
+
+
+function testcase() {
+ var arrObj = [0, 1, 2, 3];
+
+ Object.defineProperty(arrObj, "1", {
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "length", {
+ value: 3
+ });
+
+ return arrObj.length === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js
new file mode 100644
index 000000000..891860b10
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 11.a.i
+ * of [[DefineOwnProperty]] rejects changing the setter if present.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js
+ * @description Object.defineProperty throws TypeError when changing setter of non-configurable accessor properties(8.12.9 step 11.a.i)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create an accessor property; all other attributes default to false.
+ // dummy getter
+ var getter = function () { return 1;}
+ var d1 = { get: getter };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, trying to change the setter should fail, since [[Configurable]]
+ // on the original property will be false.
+ var setter = function (x) {};
+ var desc = { set: setter };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.get === getter &&
+ d2.configurable === false &&
+ d2.enumerable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js
new file mode 100644
index 000000000..6c2d0a421
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' 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)
+ */
+
+
+function testcase() {
+
+ var arrObj = [0, 1];
+
+ Object.defineProperty(arrObj, "length", {
+ value: 0,
+ writable: false
+ });
+
+ arrObj.length = 10; //try to overwrite length value of arr
+ return !arrObj.hasOwnProperty("1") && arrObj.length === 0;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js
new file mode 100644
index 000000000..5a972d826
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is available String values that convert to numbers (15.4.5.1 step 4.a)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ value: 12
+ });
+
+ return arrObj[0] === 12;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js
new file mode 100644
index 000000000..9bfeef885
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 4294967294, {
+ value: 100
+ });
+
+ return arrObj.hasOwnProperty("4294967294") && arrObj.length === 4294967295 && arrObj[4294967294] === 100;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js
new file mode 100644
index 000000000..fa5709f83
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 4294967295, {
+ value: 100
+ });
+
+ return arrObj.hasOwnProperty("4294967295") && arrObj.length === 0 && arrObj[4294967295] === 100; ;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js
new file mode 100644
index 000000000..15165ac86
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 (15.4.5.1 step 4.a)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 4294967296, {
+ value: 100
+ });
+
+ return arrObj.hasOwnProperty("4294967296") && arrObj.length === 0 && arrObj[4294967296] === 100;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js
new file mode 100644
index 000000000..075cc3841
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 4294967297, {
+ value: 100
+ });
+
+ return arrObj.hasOwnProperty("4294967297") && arrObj.length === 0 && arrObj[4294967297] === 100;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js
new file mode 100644
index 000000000..745e90ff8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is not thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is less than value of the length property (15.4.5.1 step 4.b)
+ */
+
+
+function testcase() {
+ var arrObj = [1, 2, 3];
+
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, 1, {
+ value: "abc"
+ });
+
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js
new file mode 100644
index 000000000..f0fa7df9b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' equals to value of the length property (15.4.5.1 step 4.b)
+ */
+
+
+function testcase() {
+ var arrObj = [1, 2, 3];
+
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, 3, {
+ value: "abc"
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js
new file mode 100644
index 000000000..66e20b608
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is greater than value of the length property (15.4.5.1 step 4.b)
+ */
+
+
+function testcase() {
+ var arrObj = [1, 2, 3];
+
+ Object.defineProperty(arrObj, "length", {
+ writable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, 4, {
+ value: "abc"
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js
new file mode 100644
index 000000000..1dcf37868
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 11.a.i
+ * of [[DefineOwnProperty]] permits setting a setter (if absent).
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js
+ * @description Object.defineProperty permits setting a setter (if absent) of non-configurable accessor properties(8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create an accessor property; all other attributes default to false.
+ // dummy getter
+ var getter = function () { return 1;}
+ var d1 = { get: getter };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, trying to set the setter should succeed even though [[Configurable]]
+ // on the original property will be false.
+ var desc = { set: undefined };
+ Object.defineProperty(o, "foo", desc);
+
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (d2.get === getter &&
+ d2.set === undefined &&
+ d2.configurable === false &&
+ d2.enumerable === false) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js
new file mode 100644
index 000000000..4dd051e54
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ Object.defineProperty(arrObj, 0, {
+ value: "ownDataProperty",
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, 0, {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arrObj, "0", "ownDataProperty", false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js
new file mode 100644
index 000000000..dec520eb1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited data property, test that defining own index named property is successful (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ value: 11,
+ configurable: true
+ });
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ configurable: false
+ });
+ return arrObj.hasOwnProperty("0") && Array.prototype[0] === 11 && typeof arrObj[0] === "undefined";
+ } finally {
+ delete Array.prototype[0];
+ }
+
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js
new file mode 100644
index 000000000..ae3230a9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited data property, test TypeError is thrown on updating the [[Configurable]] attribute from false to true (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ value: 11,
+ configurable: true
+ });
+
+ var arrObj = [];
+ Object.defineProperty(arrObj, "0", {
+ value: 12,
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && Array.prototype[0] === 11 && arrObj[0] === 12;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js
new file mode 100644
index 000000000..5502ed147
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited accessor property, test TypeError is thrown when update the [[Configurable]] attribute to true and value of [[Configurable]] attribute of original is false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+
+ var arrObj = [];
+ Object.defineProperty(arrObj, "0", {
+ value: 12,
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && Array.prototype[0] === 11 && arrObj[0] === 12;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js
new file mode 100644
index 000000000..9c6de2eb8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ var getFunc = function () {
+ return 11;
+ };
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "0", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, undefined, undefined, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js
new file mode 100644
index 000000000..f8742413f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited accessor property (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () {
+ return 11;
+ },
+ configurable: true
+ });
+
+ var arrObj = [];
+
+ function getFunc() {
+ return arrObj.helpVerifySet;
+ }
+ function setFunc(value) {
+ arrObj.helpVerifySet = value;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ arrObj[0] = 13;
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "helpVerifySet", false, false);
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js
new file mode 100644
index 000000000..8c6a6a12c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ value: 11,
+ configurable: true
+ });
+
+ var arrObj = [];
+ Object.defineProperty(arrObj, "0", {
+ get: function () { },
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js
new file mode 100644
index 000000000..a2725559c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "0", {
+ get: function () { },
+ configurable: true
+ });
+
+ var arrObj = [];
+ Object.defineProperty(arrObj, "0", {
+ get: function () { },
+ configurable: false
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ } finally {
+ delete Array.prototype[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js
new file mode 100644
index 000000000..661e5fc5c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ Object.preventExtensions(arrObj);
+
+ try {
+ var desc = { value: 1 };
+ Object.defineProperty(arrObj, "0", desc);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && (arrObj.hasOwnProperty("0") === false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js
new file mode 100644
index 000000000..bf5b2d4ec
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test 'name' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ enumerable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js
new file mode 100644
index 000000000..104d051cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For newly defined data properties, attributes
+ * missing from desc should have values set to the defaults from 8.6.1.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js
+ * @description Object.defineProperty sets missing attributes to their default values (data properties)(8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ var desc = { value: 1 };
+ Object.defineProperty(o, "foo", desc);
+
+ var propDesc = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (propDesc.value === 1 && // this is the value that was set
+ propDesc.writable === false && // false by default
+ propDesc.enumerable === false && // false by default
+ propDesc.configurable === false) { // false by default
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js
new file mode 100644
index 000000000..000e41f1a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 11.a.ii
+ * of [[DefineOwnProperty]] rejects changing the getter if present.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js
+ * @description Object.defineProperty throws TypeError when changing getter (if present) of non-configurable accessor properties(8.12.9 step 11.a.ii)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create an accessor property; all other attributes default to false.
+ // dummy getter/setter
+ var getter = function () { return 1;}
+ var d1 = { get: getter, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, trying to change the setter should fail, since [[Configurable]]
+ // on the original property will be false.
+ var desc = { get: undefined };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (d2.get === getter &&
+ d2.configurable === false &&
+ d2.enumerable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js
new file mode 100644
index 000000000..fc0d59885
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Value]] of 'name' property of 'Attributes' is set as undefined if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js
new file mode 100644
index 000000000..e9332631a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Writable]] is absent in data descriptor 'desc', test [[Writable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ value: 1001,
+ enumerable: true,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, false, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js
new file mode 100644
index 000000000..f21ee5600
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in data descriptor 'desc', test [[Enumerable]] of property 'name' is set to false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ value: 1001,
+ writable: true,
+ configurable: true
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js
new file mode 100644
index 000000000..c630388b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in data descriptor 'desc', test [[Configurable]] of property 'name' is set to false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ value: 1001,
+ writable: true,
+ enumerable: true
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js
new file mode 100644
index 000000000..915136962
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [1]; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(arrObj, "0", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js
new file mode 100644
index 000000000..a4572e2c2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Get]] is absent in accessor descriptor 'desc', test [[Get]] attribute of property 'name' is set to undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ var setFunc = function (value) {
+ arrObj.setVerifyHelpProp = value;
+ };
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js
new file mode 100644
index 000000000..a8f597ce3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Set]] of 'name' property in 'Attributes' is set as undefined if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ var getFunc = function () { };
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(arrObj, "0");
+
+ return arrObj.hasOwnProperty("0") && desc.hasOwnProperty("set") && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js
new file mode 100644
index 000000000..15e17b5d8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in accessor descriptor 'desc', test [[Enumerable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ var setFunc = function (value) {
+ arrObj.setVerifyHelpProp = value;
+ };
+ var getFunc = function () { };
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc,
+ get: getFunc,
+ configurable: true
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js
new file mode 100644
index 000000000..da110235e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in accessor descriptor 'desc', test [[Configurable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ var setFunc = function (value) {
+ arrObj.setVerifyHelpProp = value;
+ };
+ var getFunc = function () { };
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc,
+ get: getFunc,
+ enumerable: true
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js
new file mode 100644
index 000000000..c28640f71
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ var setFunc = function (value) {
+ arrObj.setVerifyHelpProp = value;
+ };
+ var getFunc = function () {
+ return 14;
+ };
+
+ Object.defineProperty(arrObj, "0", {
+ get: function () {
+ return 11;
+ },
+ set: function () { },
+ configurable: true,
+ enumerable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false,
+ enumerable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js
new file mode 100644
index 000000000..47abc62b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For non-configurable properties, step 11.a.ii
+ * of [[DefineOwnProperty]] permits setting a getter if absent.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js
+ * @description Object.defineProperty permits setting a getter (if absent) of non-configurable accessor properties(8.12.9 step 11.a.ii)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create an accessor property; all other attributes default to false.
+ // dummy setter
+ var setter = function (x) {}
+ var d1 = { set: setter };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, trying to set the getter should succeed even though [[Configurable]]
+ // on the original property will be false. Existing values of need to be preserved.
+ var getter = undefined;
+ var desc = { get: getter };
+
+ Object.defineProperty(o, "foo", desc);
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (d2.get === getter &&
+ d2.set === setter &&
+ d2.configurable === false &&
+ d2.enumerable === false) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js
new file mode 100644
index 000000000..6c7e45b31
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ arrObj[0] = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(arrObj, "0", {});
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 101, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js
new file mode 100644
index 000000000..d1392dd97
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent(name is accessor property) (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ function getFunc() {
+ return 11;
+ }
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {});
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js
new file mode 100644
index 000000000..968252c9e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is data property) (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ arrObj[0] = 100; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(arrObj, "0", {
+ value: 100,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js
new file mode 100644
index 000000000..3e0bb399d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is accessor property) (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ var getFunc = function () {
+ return "100";
+ };
+ var setFunc = function (value) {
+ arrObj.setVerifyHelpProp = value;
+ };
+
+ var desc = {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ };
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", desc);
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js
new file mode 100644
index 000000000..3098a9506
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property and its configurable and writable attributes are set to false, test TypeError is thrown when the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 0, {
+ value: 101,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "0", { value: "abc" });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", 101, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js
new file mode 100644
index 000000000..ddec6a704
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: undefined });
+
+ Object.defineProperty(arrObj, "0", { value: undefined });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js
new file mode 100644
index 000000000..b5b864505
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: null });
+
+ Object.defineProperty(arrObj, "0", { value: null });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", null, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js
new file mode 100644
index 000000000..f05db498a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: NaN });
+
+ Object.defineProperty(arrObj, "0", { value: NaN });
+
+ var hasProperty = arrObj.hasOwnProperty("0");
+ var verifyValue = (arrObj[0] !== arrObj[0]);
+
+ var verifyWritable = false;
+ arrObj[0] = 1001;
+ verifyWritable = arrObj[0] !== 1001 && arrObj[0] !== arrObj[0];
+
+ var verifyEnumerable = false;
+ for (var p in arrObj) {
+ if (p === "0") {
+ verifyEnumerable = true;
+ }
+ }
+
+ var verifyConfigurable = false;
+ delete arrObj[0];
+ verifyConfigurable = arrObj.hasOwnProperty("0");
+
+ return hasProperty && verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js
new file mode 100644
index 000000000..7dd034ae9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: -0 });
+
+ try {
+ Object.defineProperty(arrObj, "0", { value: +0 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", -0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js
new file mode 100644
index 000000000..bc5104ee6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: +0 });
+
+ try {
+ Object.defineProperty(arrObj, "0", { value: -0 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", +0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js
new file mode 100644
index 000000000..bc9f39502
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js
+ * @description Object.defineProperty - 'name' is existing own data property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "foo", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ value: 12,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && obj.foo === 11;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js
new file mode 100644
index 000000000..733cd634a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: 101 });
+
+ Object.defineProperty(arrObj, "0", { value: 101 });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 101, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js
new file mode 100644
index 000000000..3ef22a1bb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 0, {
+ value: 101,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "0", { value: 123 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", 101, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js
new file mode 100644
index 000000000..bcff1ff52
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: "abcd" });
+
+ Object.defineProperty(arrObj, "0", { value: "abcd" });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", "abcd", false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js
new file mode 100644
index 000000000..cecabd300
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 0, {
+ value: "abcd",
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "0", { value: "fghj" });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", "abcd", false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js
new file mode 100644
index 000000000..fe7793eb0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { value: true });
+
+ Object.defineProperty(arrObj, "0", { value: true });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", true, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js
new file mode 100644
index 000000000..d43ed7d2a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, 0, {
+ value: true,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "0", { value: false });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", true, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js
new file mode 100644
index 000000000..bf03c6c16
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ var obj1 = { length: 10 };
+
+ Object.defineProperty(arrObj, "0", { value: obj1 });
+
+ Object.defineProperty(arrObj, "0", { value: obj1 });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", obj1, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js
new file mode 100644
index 000000000..b822213a7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to two different objects (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ var obj1 = { length: 10 };
+ Object.defineProperty(arrObj, 0, {
+ value: obj1,
+ writable: false,
+ configurable: false
+ });
+
+ var obj2 = { length: 20 };
+
+ try {
+ Object.defineProperty(arrObj, "0", { value: obj2 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", obj1, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js
new file mode 100644
index 000000000..72eb9a213
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { writable: false });
+
+ Object.defineProperty(arrObj, "0", { writable: false });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js
new file mode 100644
index 000000000..2c9a01ad0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { writable: false, configurable: true });
+
+ Object.defineProperty(arrObj, "0", { writable: true });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js
new file mode 100644
index 000000000..e2c59367d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js
+ * @description Object.defineProperty - 'name' is existing an inherited data property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "foo", {
+ value: 11,
+ configurable: false
+ });
+
+ var ConstructFun = function () {};
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return obj.hasOwnProperty("foo") && (typeof obj.foo) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js
new file mode 100644
index 000000000..f71432607
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ arrObj.helpVerifySet = 10;
+
+ function getFunc() {
+ return arrObj.helpVerifySet;
+ }
+ function setFunc(value) {
+ arrObj.helpVerifySet = value;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "helpVerifySet", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js
new file mode 100644
index 000000000..b4e383d43
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ arrObj.helpVerifySet = 10;
+
+ function getFunc1() {
+ return 20;
+ }
+ function getFunc2() {
+ return arrObj.helpVerifySet;
+ }
+ function setFunc(value) {
+ arrObj.helpVerifySet = value;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc1,
+ set: setFunc,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc2
+ });
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc2, setFunc, "helpVerifySet", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js
new file mode 100644
index 000000000..68b9f4915
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "0", { set: setFunc });
+
+ Object.defineProperty(arrObj, "0", { set: setFunc });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js
new file mode 100644
index 000000000..582801aef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ function setFunc1() { }
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc1,
+ configurable: true
+ });
+
+ function setFunc2(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "0", { set: setFunc2 });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc2, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js
new file mode 100644
index 000000000..08f1d0778
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { enumerable: false });
+
+ Object.defineProperty(arrObj, "0", { enumerable: false });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js
new file mode 100644
index 000000000..02e3bf833
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { enumerable: false, configurable: true });
+
+ Object.defineProperty(arrObj, "0", { enumerable: true });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js
new file mode 100644
index 000000000..748bc1005
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { configurable: false });
+
+ Object.defineProperty(arrObj, "0", { configurable: false });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js
new file mode 100644
index 000000000..a70c39e1a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", { configurable: true });
+
+ Object.defineProperty(arrObj, "0", { configurable: false });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js
new file mode 100644
index 000000000..9b94746a6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: 3,
+ writable: true,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ value: 13,
+ writable: true,
+ configurable: true
+ });
+ return false;
+
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, true, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js
new file mode 100644
index 000000000..8919ee628
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: 3,
+ writable: true,
+ configurable: false,
+ enumerable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ value: 13,
+ writable: true,
+ enumerable: true
+ });
+ return false;
+
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, true, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js
new file mode 100644
index 000000000..223e3fd64
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js
+ * @description Object.defineProperty - 'name' is own data property that overrides an inherited data property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "foo", {
+ value: 12,
+ configurable: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+ Object.defineProperty(obj, "foo", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && obj.foo === 11;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js
new file mode 100644
index 000000000..3f37a9c59
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "1", {
+ set: setFunc,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ value: 13
+ });
+ return false;
+
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "1", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js
new file mode 100644
index 000000000..01dc77a17
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: 3,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ set: function () { }
+ });
+ return false;
+
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js
new file mode 100644
index 000000000..66254144e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is updated successfully (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [3];
+
+ Object.defineProperty(arrObj, "0", {
+ value: 1001,
+ writable: false,
+ enumerable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js
new file mode 100644
index 000000000..417379fc7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from data property to accessor property (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [3];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js
new file mode 100644
index 000000000..447194602
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and assignment to the accessor property, fails to convert accessor property from accessor property to data property (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function getFunc() {
+ return 3;
+ }
+ Object.defineProperty(arrObj, "1", {
+ get: getFunc,
+ configurable: true
+ });
+
+ arrObj[1] = 4;
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "1", getFunc, undefined, undefined, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js
new file mode 100644
index 000000000..626a8ef40
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from accessor property to data property (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function getFunc() {
+ return 3;
+ }
+ Object.defineProperty(arrObj, "1", {
+ get: getFunc,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "1", {
+ value: 12
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "1", 12, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js
new file mode 100644
index 000000000..2ce129e44
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ writable: false,
+ configurable: false
+ });
+
+ try {
+
+ Object.defineProperty(arrObj, "1", {
+ writable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", undefined, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js
new file mode 100644
index 000000000..bd4b8ab21
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: 3,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+
+ Object.defineProperty(arrObj, "1", {
+ value: "abc"
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js
new file mode 100644
index 000000000..0d11ac7a0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: -0
+
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ value: +0
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", -0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js
new file mode 100644
index 000000000..ea6786ebb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: +0
+ });
+
+ try {
+
+ Object.defineProperty(arrObj, "1", {
+ value: -0
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", +0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js
new file mode 100644
index 000000000..a69b099cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different vaules (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: 12
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ value: 15
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 12, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js
new file mode 100644
index 000000000..1772f795d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: "abc"
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ value: "fgh"
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", "abc", false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js
new file mode 100644
index 000000000..bae1633cf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js
+ * @description Object.defineProperty - 'data' is own data property that overrides an inherited accessor property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "foo", {
+ get: function () { },
+ configurable: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+ Object.defineProperty(obj, "foo", {
+ value: 11,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && obj.foo === 11;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js
new file mode 100644
index 000000000..2b11f71f8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ value: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ value: true
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", false, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js
new file mode 100644
index 000000000..a45a2d563
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ var obj = { length: 10 };
+
+ Object.defineProperty(arrObj, "1", {
+ value: obj
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", { value: {} });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", obj, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js
new file mode 100644
index 000000000..693406d8e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "1", {
+ set: setFunc
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ set: function () { }
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "1", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js
new file mode 100644
index 000000000..9c88cb83e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ function getFunc() {
+ return 12;
+ }
+
+ Object.defineProperty(arrObj, "1", {
+ get: getFunc,
+ set: undefined
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ set: function () { }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "1", getFunc, undefined, undefined, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js
new file mode 100644
index 000000000..a399eb41a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is not thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "1", {
+ set: undefined
+ });
+ var hasProperty = arrObj.hasOwnProperty("1");
+
+ Object.defineProperty(arrObj, "1", {
+ set: undefined
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(arrObj, "1");
+
+ var verifyGet = desc.hasOwnProperty("get") && typeof desc.get === "undefined";
+
+ var verifySet = desc.hasOwnProperty("set") && typeof desc.set === "undefined";
+
+ var verifyEnumerable = false;
+ for (var p in arrObj) {
+ if (p === "1") {
+ verifyEnumerable = true
+ }
+ }
+
+ var verifyConfigurable = false;
+ delete arrObj[1];
+ verifyConfigurable = arrObj.hasOwnProperty("1");
+
+ return hasProperty && verifyGet && verifySet && !verifyEnumerable && verifyConfigurable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js
new file mode 100644
index 000000000..6a52e0458
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ function getFunc() {
+ return 12;
+ }
+ Object.defineProperty(arrObj, "1", {
+ get: getFunc
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ get: function () {
+ return 14;
+ }
+ });
+
+ return false;
+ } catch (e) {
+ var hasProperty = arrObj.hasOwnProperty("1");
+ var desc = Object.getOwnPropertyDescriptor(arrObj, "1");
+
+ var verifyGet = arrObj[1] === getFunc();
+
+ var verifySet = desc.hasOwnProperty("set") && typeof desc.set === "undefined";
+
+ var verifyEnumerable = false;
+ for (var p in arrObj) {
+ if (p === "1") {
+ verifyEnumerable = true
+ }
+ }
+
+ var verifyConfigurable = false;
+ delete arrObj[1];
+ verifyConfigurable = arrObj.hasOwnProperty("1");
+
+ return e instanceof TypeError && hasProperty && verifyGet &&
+ verifySet && !verifyEnumerable && verifyConfigurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js
new file mode 100644
index 000000000..1493350a0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ function getFunc() {
+ return 12;
+ }
+
+ Object.defineProperty(arrObj, "1", {
+ get: getFunc
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ get: undefined
+ });
+ return false;
+ } catch (e) {
+ var hasProperty = arrObj.hasOwnProperty("1");
+ var desc = Object.getOwnPropertyDescriptor(arrObj, "1");
+
+ var verifyGet = arrObj[1] === getFunc();
+
+ var verifySet = desc.hasOwnProperty("set") && typeof desc.set === "undefined";
+
+ var verifyEnumerable = false;
+ for (var p in arrObj) {
+ if (p === "1") {
+ verifyEnumerable = true
+ }
+ }
+
+ var verifyConfigurable = false;
+ delete arrObj[1];
+ verifyConfigurable = arrObj.hasOwnProperty("1");
+
+ return e instanceof TypeError && hasProperty && verifyGet &&
+ verifySet && !verifyEnumerable && verifyConfigurable;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js
new file mode 100644
index 000000000..d02d6777a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, 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 'name' are undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "1", {
+ get: undefined,
+ set: setFunc,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "1", {
+ get: undefined
+ });
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "1", undefined, setFunc, "setVerifyHelpProp", false, false);
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js
new file mode 100644
index 000000000..21fc88455
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [100];
+
+ Object.defineProperty(arrObj, "0", {
+ value: 200
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 200, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js
new file mode 100644
index 000000000..cd6f0c856
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [100];
+
+ Object.defineProperty(arrObj, "0", {
+ value: undefined
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js
new file mode 100644
index 000000000..253fd6b30
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js
+ * @description Object.defineProperty - 'name' is own accessor property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 11;
+ },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && obj.property === 11;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js
new file mode 100644
index 000000000..51a044628
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' from undefined to number (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [undefined];
+ Object.defineProperty(arrObj, "0", {
+ value: 100
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js
new file mode 100644
index 000000000..7fd510085
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js
@@ -0,0 +1,35 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [100];
+ Object.defineProperty(arrObj, "0", {
+ writable: false
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 100, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js
new file mode 100644
index 000000000..8d2981967
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [100];
+
+ Object.defineProperty(arrObj, "0", {
+ enumerable: false
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js
new file mode 100644
index 000000000..4616eb6a1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [100];
+
+ Object.defineProperty(arrObj, "0", {
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js
new file mode 100644
index 000000000..99d95374d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [100];
+ Object.defineProperty(arrObj, "0", {
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arrObj, "0", 100, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js
new file mode 100644
index 000000000..37f03acef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function getFunc() {
+ return 100;
+ }
+ Object.defineProperty(arrObj, "0", {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ });
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, undefined, undefined, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js
new file mode 100644
index 000000000..f114e248c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ function getFunc() {
+ return 12;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ get: undefined
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, undefined, undefined, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js
new file mode 100644
index 000000000..cb6e5689d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function getFunc() {
+ return 12;
+ }
+ Object.defineProperty(arrObj, "0", {
+ get: undefined,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ get: getFunc
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, undefined, undefined, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js
new file mode 100644
index 000000000..770430042
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js
new file mode 100644
index 000000000..92b3ea819
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "0", {
+ set: function () { },
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ set: undefined
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, undefined, undefined, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js
new file mode 100644
index 000000000..7c5454b63
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js
+ * @description Object.defineProperty - 'name' is an inherited accessor property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "property", {
+ get: function () {
+ return 11;
+ },
+ configurable: false
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ });
+ return obj.hasOwnProperty("property") && obj.property === 12;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js
new file mode 100644
index 000000000..e51da00f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ set: undefined,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js
new file mode 100644
index 000000000..13663e273
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ enumerable: false
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js
new file mode 100644
index 000000000..0c7e7fc67
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "0", {
+ set: setFunc,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "0", {
+ configurable: false
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js
new file mode 100644
index 000000000..a7a8f337e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ function getFunc() {
+ return 12;
+ }
+ Object.defineProperty(arrObj, "1", {
+ get: function () {
+ return 6;
+ },
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(arrObj, "1", {
+ get: getFunc,
+ enumerable: false,
+ configurable: false
+ });
+ return accessorPropertyAttributesAreCorrect(arrObj, "1", getFunc, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js
new file mode 100644
index 000000000..55cea43d1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is not changed if ToUint32('name') is less than value of the length property in 'O' (15.4.5.1 step 4.e)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ arrObj.length = 3; // default value of length: writable: true, configurable: false, enumerable: false
+
+ Object.defineProperty(arrObj, "1", {
+ value: 14
+ });
+
+ return arrObj.length === 3 && arrObj[1] === 14;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js
new file mode 100644
index 000000000..f30a0adf4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+ arrObj.length = 3; // default value of length: writable: true, configurable: false, enumerable: false
+
+ Object.defineProperty(arrObj, "3", {
+ value: 3
+ });
+
+ return arrObj.length === 4 && arrObj[3] === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js
new file mode 100644
index 000000000..cf374f818
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "5", {
+ value: 3
+ });
+
+ return arrObj.length === 6 && arrObj[5] === 3;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js
new file mode 100644
index 000000000..22251c0f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "property", {
+ value: 12,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "property", 12, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js
new file mode 100644
index 000000000..5b3a0c479
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js
+ * @description Object.defineProperty - 'name' is generic property that won't exist on 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function getFunc() {
+ return 12;
+ }
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(arrObj, "property", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "property", getFunc, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js
new file mode 100644
index 000000000..4b6453dc2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function getFunc() {
+ return 12;
+ }
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "property", {
+ get: function () {
+ return 24;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(arrObj, "property", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(arrObj, "property", getFunc, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js
new file mode 100644
index 000000000..f5fdb9404
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js
+ * @description Object.defineProperty - 'name' is own accessor property that overrides an inherited data property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "foo", {
+ value: 11,
+ configurable: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+ Object.defineProperty(obj, "foo", {
+ get: function () { },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js
new file mode 100644
index 000000000..e99cce682
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ arrObj.property = 12; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(arrObj, "property", {
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js
new file mode 100644
index 000000000..5d48eb61d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "property", {
+ value: 12
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ value: 36
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js
new file mode 100644
index 000000000..f21f49e26
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "property", {
+ writable: false
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ writable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", undefined, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js
new file mode 100644
index 000000000..94d7aaecd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "property", {
+ value: 12,
+ enumerable: false
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ enumerable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js
new file mode 100644
index 000000000..cd3fee468
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "property", {
+ value: 12
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js
new file mode 100644
index 000000000..20807ab82
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function getFunc() {
+ return 12;
+ }
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "property", {
+ get: getFunc,
+ set: setFunc
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ get: function () {
+ return 36;
+ }
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", getFunc, setFunc, "setVerifyHelpProp", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js
new file mode 100644
index 000000000..f5bc51bec
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test TypeError is thrown when updating the [[Set]] attribute value of 'name' (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "property", {
+ set: setFunc
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ set: function () {}
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js
new file mode 100644
index 000000000..b13fd586d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "property", {
+ set: setFunc,
+ enumerable: false
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ enumerable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js
new file mode 100644
index 000000000..3beb63cd9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js
+ * @description Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)
+ */
+
+
+function testcase() {
+
+ var arrObj = [];
+
+ function setFunc(value) {
+ arrObj.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arrObj, "property", {
+ set: setFunc,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arrObj, "property", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js
new file mode 100644
index 000000000..7d296111d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ delete arguments[0];
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var verifyFormal = a === 0;
+ return dataPropertyAttributesAreCorrect(arguments, "0", 10, true, true, true) && verifyFormal;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js
new file mode 100644
index 000000000..66de73685
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ delete arguments[0];
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "0", 10, true, true, true);
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js
new file mode 100644
index 000000000..12cb84ecf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js
+ * @description Object.defineProperty - 'name' is own accessor property that overrides an inherited accessor property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "foo", {
+ get: function () { },
+ configurable: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+ Object.defineProperty(obj, "foo", {
+ get: function () { },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-1.js
new file mode 100644
index 000000000..fca4bdba2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ delete arguments[0];
+ function getFunc() {
+ return 10;
+ }
+ function setFunc(value) {
+ this.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var verifyFormal = a === 0;
+ return accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, setFunc, "setVerifyHelpProp", true, true) && verifyFormal;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.js
new file mode 100644
index 000000000..6a51043c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ delete arguments[0];
+ function getFunc() {
+ return 10;
+ }
+ function setFunc(value) {
+ this.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ return accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, setFunc, "setVerifyHelpProp", true, true);
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js
new file mode 100644
index 000000000..ae39a4a86
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.a.i)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function getFunc1() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc1,
+ enumerable: true,
+ configurable: true
+ });
+ function getFunc2() {
+ return 20;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc2,
+ enumerable: false,
+ configurable: false
+ });
+ var verifyFormal = a === 0;
+ return accessorPropertyAttributesAreCorrect(arguments, "0", getFunc2, undefined, undefined, false, false) && verifyFormal;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js
new file mode 100644
index 000000000..b9cbd56da
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc1() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc1,
+ enumerable: true,
+ configurable: true
+ });
+ function getFunc2() {
+ return 20;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc2,
+ enumerable: false,
+ configurable: false
+ });
+ return accessorPropertyAttributesAreCorrect(arguments, "0", getFunc2, undefined, undefined, false, false);
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js
new file mode 100644
index 000000000..7e48a754a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.b)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "0", {
+ value: 20,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var verifyFormal = a === 20;
+ return dataPropertyAttributesAreCorrect(arguments, "0", 20, false, false, false) && verifyFormal;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js
new file mode 100644
index 000000000..064123f34
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 20,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "0", 20, false, false, false);
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js
new file mode 100644
index 000000000..61ca6ff28
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and 5b)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false
+ });
+ Object.defineProperty(arguments, "0", {
+ value: 20
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "0", 20, false, true, true);
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-2.js
new file mode 100644
index 000000000..3797fe654
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-2.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as unwritable and non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ value: 20
+ });
+ } catch (e) {
+ var verifyFormal = a === 10;
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js
new file mode 100644
index 000000000..80b1e0fb0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and step 5.b)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ });
+ Object.defineProperty(arguments, "0", {
+ value: 20
+ });
+ var verifyFormal = a === 10;
+ return dataPropertyAttributesAreCorrect(arguments, "0", 20, false, true, true) && verifyFormal;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.js
new file mode 100644
index 000000000..0bd9f8061
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ value: 20
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-1.js
new file mode 100644
index 000000000..8c60429b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and 5b)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ writable: true
+ });
+ } catch (e) {
+ var verifyFormal = a === 10;
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.js
new file mode 100644
index 000000000..162b99403
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ writable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-1.js
new file mode 100644
index 000000000..921a0c3bc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ enumerable: false
+ });
+ } catch (e) {
+ var verifyFormal = a === 10;
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, true, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.js
new file mode 100644
index 000000000..45c66596e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ enumerable: false
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, true, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-1.js
new file mode 100644
index 000000000..cad838938
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ configurable: true
+ });
+ } catch (e) {
+ var verifyFormal = a === 10;
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.js
new file mode 100644
index 000000000..988e9892f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js
new file mode 100644
index 000000000..eeec0eb1f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function getFunc1() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc1,
+ enumerable: false,
+ configurable: false
+ });
+ function getFunc2() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(arguments, "0", {
+ get: getFunc2
+ });
+ } catch (e) {
+ var verifyFormal = a === 0;
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc1, undefined, undefined, false, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js
new file mode 100644
index 000000000..91c71c7b4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc1() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc1,
+ enumerable: false,
+ configurable: false
+ });
+ function getFunc2() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(arguments, "0", {
+ get: getFunc2
+ });
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc1, undefined, undefined, false, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-1.js
new file mode 100644
index 000000000..58923c71f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function getFunc() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ function setFunc(value) {
+ this.setVerifyHelpProp = value;
+ }
+ try {
+ Object.defineProperty(arguments, "0", {
+ set: setFunc
+ });
+ } catch (e) {
+ var verifyFormal = a === 0;
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, false, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js
new file mode 100644
index 000000000..f91d1bad9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ function setFunc(value) {
+ this.setVerifyHelpProp = value;
+ }
+ try {
+ Object.defineProperty(arguments, "0", {
+ set: setFunc
+ });
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, false, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js
new file mode 100644
index 000000000..52f898315
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function getFunc() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ enumerable: false
+ });
+ } catch (e) {
+ var verifyFormal = a === 0;
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, true, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js
new file mode 100644
index 000000000..56e5eb49e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ enumerable: false
+ });
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, true, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js
new file mode 100644
index 000000000..918f5a8e6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For newly defined accessor properties, attributes
+ * missing from desc should have values set to the defaults from 8.6.1.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js
+ * @description Object.defineProperty sets missing attributes to their default values (accessor)(8.12.9 step 4.b.i)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ var getter = function () { return 1; };
+ var desc = { get: getter };
+
+ Object.defineProperty(o, "foo", desc);
+
+ var propDesc = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (typeof(propDesc.get) === "function" && // the getter must be the function that was provided
+ propDesc.get === getter &&
+ propDesc.enumerable === false && // false by default
+ propDesc.configurable === false) { // false by default
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js
new file mode 100644
index 000000000..b090b6b95
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js
+ * @description Object.defineProperty - 'name' is own accessor property without a get function (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "foo", {
+ set: function () { },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js
new file mode 100644
index 000000000..109d9541b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' 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 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function getFunc() {
+ return 0;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ configurable: true
+ });
+ } catch (e) {
+ var verifyFormal = a === 0;
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, true, false) && verifyFormal;
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js
new file mode 100644
index 000000000..a7e39c0cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, true, false);
+ }
+ return false;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js
new file mode 100644
index 000000000..e7052e7d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ delete arguments[0];
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var verifyFormal = a === 0;
+ return dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false) && verifyFormal;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js
new file mode 100644
index 000000000..e8b6983e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ delete arguments[0];
+ Object.defineProperty(arguments, "0", {
+ value: 10,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "0", 10, false, false, false);
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-1.js
new file mode 100644
index 000000000..6bf8bf006
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3 and step 5a)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ delete arguments[0];
+ function getFunc() {
+ return 10;
+ }
+ function setFunc(value) {
+ this.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ var verifyFormal = a === 0;
+ return accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, setFunc, "setVerifyHelpProp", false, false) && verifyFormal;
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.js
new file mode 100644
index 000000000..f5e796379
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ delete arguments[0];
+ function getFunc() {
+ return 10;
+ }
+ function setFunc(value) {
+ this.setVerifyHelpProp = value;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ return accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, setFunc, "setVerifyHelpProp", false, false);
+ }(0, 1, 2));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js
new file mode 100644
index 000000000..d796ee00d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc1() {
+ return 10;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc1,
+ enumerable: true,
+ configurable: true
+ });
+ function getFunc2() {
+ return 20;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc2,
+ enumerable: false,
+ configurable: false
+ });
+ return accessorPropertyAttributesAreCorrect(arguments, "0", getFunc2, undefined, undefined, false, false);
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js
new file mode 100644
index 000000000..c02677c86
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 20,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "0", 20, false, false, false);
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.js
new file mode 100644
index 000000000..c29871c03
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 0,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arguments, "0", {
+ value: 10
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 0, false, false, false);
+ }
+ return false;
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.js
new file mode 100644
index 000000000..5d711c4f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 0,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ writable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 0, false, false, false);
+ }
+ return false;
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.js
new file mode 100644
index 000000000..c9f936c62
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 0,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ enumerable: false
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 0, false, true, false);
+ }
+ return false;
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.js
new file mode 100644
index 000000000..ccd631e60
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "0", {
+ value: 0,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(arguments, "0", 0, false, false, false);
+ }
+ return false;
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js
new file mode 100644
index 000000000..558b89552
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc1() {
+ return 0;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc1,
+ enumerable: false,
+ configurable: false
+ });
+ function getFunc2() {
+ return 10;
+ }
+ try {
+ Object.defineProperty(arguments, "0", {
+ get: getFunc2
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc1, undefined, undefined, false, false);
+ }
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js
new file mode 100644
index 000000000..544e536d1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js
+ * @description Object.defineProperty - 'name' is own accessor property without a get function that overrides an inherited accessor property(8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "foo", {
+ get: function () { },
+ configurable: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+ Object.defineProperty(obj, "foo", {
+ set: function () { },
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js
new file mode 100644
index 000000000..6c6b9ed9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return 0;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ function setFunc(value) {
+ this.setVerifyHelpProp = value;
+ }
+ try {
+ Object.defineProperty(arguments, "0", {
+ set: setFunc
+ });
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, false, false);
+ }
+ return false;
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js
new file mode 100644
index 000000000..c648dd3dd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return 0;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ enumerable: false
+ });
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, true, false);
+ }
+ return false;
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js
new file mode 100644
index 000000000..3209dd77c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return 0;
+ }
+ Object.defineProperty(arguments, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "0", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arguments, "0", getFunc, undefined, undefined, true, false);
+ }
+ return false;
+ }());
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js
new file mode 100644
index 000000000..a792e9ac0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "genericProperty", 1001, true, true, true);
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js
new file mode 100644
index 000000000..97a259550
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js
+ * @description Object.defineProperty - '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 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "genericProperty", 1001, true, true, true);
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js
new file mode 100644
index 000000000..9dbe491fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function getFunc() {
+ return "getFunctionString";
+ }
+ function setFunc(value) {
+ this.testgetFunction = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ return accessorPropertyAttributesAreCorrect(arguments, "genericProperty", getFunc, setFunc, "testgetFunction", true, true);
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js
new file mode 100644
index 000000000..00bb47573
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js
+ * @description Object.defineProperty - '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 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return "getFunctionString";
+ }
+ function setFunc(value) {
+ this.testgetFunction = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ return accessorPropertyAttributesAreCorrect(arguments, "genericProperty", getFunc, setFunc, "testgetFunction", true, true);
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js
new file mode 100644
index 000000000..c8e66b3b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "genericProperty", {
+ get: function () {
+ return 1001;
+ },
+ set: function (value) {
+ this.testgetFunction1 = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ function getFunc() {
+ return "getFunctionString";
+ }
+ function setFunc(value) {
+ this.testgetFunction = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ var verifyFormal = c === 3;
+ return accessorPropertyAttributesAreCorrect(arguments, "genericProperty", getFunc, setFunc, "testgetFunction", false, false) && verifyFormal;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js
new file mode 100644
index 000000000..c36610d04
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js
+ * @description Object.defineProperty - '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 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "genericProperty", {
+ get: function () {
+ return 1001;
+ },
+ set: function (value) {
+ this.testgetFunction1 = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ function getFunc() {
+ return "getFunctionString";
+ }
+ function setFunc(value) {
+ this.testgetFunction = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ return accessorPropertyAttributesAreCorrect(arguments, "genericProperty", getFunc, setFunc, "testgetFunction", false, false);
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-1.js
new file mode 100644
index 000000000..1a34501fa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1002,
+ enumerable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "genericProperty", 1002, true, false, false);
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js
new file mode 100644
index 000000000..31e97fd3b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js
+ * @description Object.defineProperty - '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 3)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1002,
+ enumerable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(arguments, "genericProperty", 1002, true, false, false);
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-1.js
new file mode 100644
index 000000000..50aafd018
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1001,
+ writable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1002
+ });
+ } catch (e) {
+ var verifyFormal = b === 2;
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", 1001, false, false, false) && verifyFormal;
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.js
new file mode 100644
index 000000000..88a65864e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1001,
+ writable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ value: 1002
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", 1001, false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js
new file mode 100644
index 000000000..0da09674d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "genericProperty", {
+ writable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ writable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js
new file mode 100644
index 000000000..50ef92c8d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "genericProperty", {
+ writable: false,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ writable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js
new file mode 100644
index 000000000..1b4427345
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "genericProperty", {
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ enumerable: false
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, false, true, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js
new file mode 100644
index 000000000..f352785da
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "genericProperty", {
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ enumerable: false
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, false, true, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js
new file mode 100644
index 000000000..f7f8d838a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js
+ * @description Object.defineProperty - 'name' is an inherited accessor property without a get function (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var proto = {};
+ Object.defineProperty(proto, "foo", {
+ set: function () { },
+ configurable: false
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+ var obj = new ConstructFun();
+
+ Object.defineProperty(obj, "foo", {
+ configurable: true
+ });
+ return obj.hasOwnProperty("foo") && typeof obj.foo === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-1.js
new file mode 100644
index 000000000..b2af889c8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ Object.defineProperty(arguments, "genericProperty", {
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js
new file mode 100644
index 000000000..15732e670
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function () {
+ Object.defineProperty(arguments, "genericProperty", {
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ dataPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-1.js
new file mode 100644
index 000000000..a2eeec672
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function getFunc() {
+ return "genericPropertyString";
+ }
+ function setFunc(value) {
+ this.helpVerifyGet = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ get: function () {
+ return "overideGenericPropertyString";
+ }
+ });
+ } catch (e) {
+ var verifyFormal = a === 1;
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", getFunc, setFunc, "helpVerifyGet", false, false, false) && verifyFormal;
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js
new file mode 100644
index 000000000..ae58fda1a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function () {
+ function getFunc() {
+ return "genericPropertyString";
+ }
+ function setFunc(value) {
+ this.helpVerifyGet = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ get: function () {
+ return "overideGenericPropertyString";
+ }
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", getFunc, setFunc, "helpVerifyGet", false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js
new file mode 100644
index 000000000..2d93fcc1c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function setFunc(value) {
+ this.genericPropertyString = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ set: setFunc,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ set: function (value) {
+ this.genericPropertyString1 = value;
+ }
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, setFunc, "genericPropertyString", false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js
new file mode 100644
index 000000000..822701934
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function () {
+ function setFunc(value) {
+ this.genericPropertyString = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ set: setFunc,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ set: function (value) {
+ this.genericPropertyString1 = value;
+ }
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, setFunc, "genericPropertyString", false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js
new file mode 100644
index 000000000..8a1955a41
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js
+ * @description Object.defineProperty - ''O' is an Arguments object of a function that has formal parameters, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function setFunc(value) {
+ this.genericPropertyString = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ enumerable: false
+ });
+ } catch (e) {
+ verifyFormal = c === 3;
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, setFunc, "genericPropertyString", true, false) && verifyFormal;
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js
new file mode 100644
index 000000000..2b7e06f4d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js
+ * @description Object.defineProperty - ''O' is an Arguments object, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function () {
+ function setFunc(value) {
+ this.genericPropertyString = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ enumerable: false
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, setFunc, "genericPropertyString", true, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js
new file mode 100644
index 000000000..1412c1055
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function (a, b, c) {
+ function setFunc(value) {
+ this.genericPropertyString = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ set: setFunc,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, setFunc, "genericPropertyString", false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js
new file mode 100644
index 000000000..859d76ee0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js
+ * @description Object.defineProperty - 'O' is an Arguments object, 'P' is 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)
+ */
+
+
+function testcase() {
+ return (function () {
+ function setFunc(value) {
+ this.genericPropertyString = value;
+ }
+ Object.defineProperty(arguments, "genericProperty", {
+ set: setFunc,
+ configurable: false
+ });
+ try {
+ Object.defineProperty(arguments, "genericProperty", {
+ configurable: true
+ });
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(arguments, "genericProperty", undefined, setFunc, "genericPropertyString", false, false, false);
+ }
+ return false;
+ }(1, 2, 3));
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js
new file mode 100644
index 000000000..c4a53f69f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js
+ * @description Object.defineProperty - 'O' is an Arguments object which created with function take formal parameters, '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)
+ */
+
+
+function testcase() {
+ var argObj = (function (a, b, c) { return arguments; })(1, 2, 3);
+ var accessed = false;
+
+ Object.defineProperty(argObj, 0, {
+ get: function () {
+ accessed = true;
+ return 12;
+ }
+ });
+
+ return argObj[0] === 12 && accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js
new file mode 100644
index 000000000..f4104ca23
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js
+ * @description Object.defineProperty - '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)
+ */
+
+
+function testcase() {
+ var argObj = (function () { return arguments; })(1, 2, 3);
+ var accessed = false;
+
+ Object.defineProperty(argObj, 0, {
+ get: function () {
+ accessed = true;
+ return 12;
+ }
+ });
+
+ return argObj[0] === 12 && accessed;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js
new file mode 100644
index 000000000..1090d7582
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is writable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js
new file mode 100644
index 000000000..bbe6c7a17
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var property in obj) {
+ if (property === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js
new file mode 100644
index 000000000..61e81991c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && !afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js
new file mode 100644
index 000000000..dc2c2828a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js
+ * @description ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ writable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js
new file mode 100644
index 000000000..c079aeef0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js
+ * @description Object.defineProperty - 'O' is a Function object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var fun = function () { };
+
+ Object.defineProperty(fun, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(fun, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && fun.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js
new file mode 100644
index 000000000..ecf4b12b6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js
+ * @description ES5 Attributes - success to update [[enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js
new file mode 100644
index 000000000..6899ddfac
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js
new file mode 100644
index 000000000..30980cb63
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js
+ * @description ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("value") && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js
new file mode 100644
index 000000000..dbe961ca1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js
+ * @description Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: true,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "property", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", 1002, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js
new file mode 100644
index 000000000..5a033ed6e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js
+ * @description ES5 Attributes - indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var verifyValue = (obj[0] === 2010);
+ obj[0] = 1001;
+
+ return verifyValue && obj[0] === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js
new file mode 100644
index 000000000..6aa50630a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js
+ * @description ES5 Attributes - indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object
+ */
+
+
+function testcase() {
+ var obj = (function (x) {
+ return arguments;
+ }(1001));
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var verifyValue = (obj[0] === 2010);
+
+ return verifyValue;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js
new file mode 100644
index 000000000..6254f93c9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js
+ * @description Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)
+ */
+
+
+function testcase() {
+
+ var obj = [];
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "0", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1002, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js
new file mode 100644
index 000000000..a68d1b74b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js
+ * @description Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)
+ */
+
+
+function testcase() {
+
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: true,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "property", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", 1002, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js
new file mode 100644
index 000000000..7b02befc6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js
+ * @description Indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var verifyValue = (obj[0] === 2010);
+ obj[0] = 1001;
+
+ return verifyValue && obj[0] === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js
new file mode 100644
index 000000000..e0ee642cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js
+ * @description ES5 Attributes - named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var verifyValue = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return verifyValue && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js
new file mode 100644
index 000000000..8b5e3cf88
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js
+ * @description Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "0", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1002, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js
new file mode 100644
index 000000000..53631b185
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js
+ * @description Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)
+ */
+
+
+function testcase() {
+
+ var obj = [];
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001,
+ writable: true,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "prop", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "prop", 1002, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js
new file mode 100644
index 000000000..9089c39f0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js
+ * @description Object.defineProperty will update [[Value]] attribute of indexed property 'P'successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)
+ */
+
+
+function testcase() {
+
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "0", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1002, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js
new file mode 100644
index 000000000..813766dc8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js
+ * @description Object.defineProperty - Named property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var verifyValue = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return verifyValue && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js
new file mode 100644
index 000000000..e8566a95f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is writable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js
new file mode 100644
index 000000000..0acf89703
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js
new file mode 100644
index 000000000..984958fe5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && obj.prop === 2010 && afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js
new file mode 100644
index 000000000..806223bc9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js
+ * @description ES5 Attributes - Success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ writable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js
new file mode 100644
index 000000000..a7daaf5f9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === true && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js
new file mode 100644
index 000000000..7809036bb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js
new file mode 100644
index 000000000..22d77772e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js
+ * @description Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("0");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "0", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+ return propertyDefineCorrect && desc1.value === 2010 && obj[0] === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js
new file mode 100644
index 000000000..00d65cb41
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js
+ * @description Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js
new file mode 100644
index 000000000..e42013aa5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js
+ * @description Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 &&
+ typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js
new file mode 100644
index 000000000..ae2040804
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js
+ * @description Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("0");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "0", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+ return propertyDefineCorrect && desc1.value === 2010 && obj[0] === 2010 &&
+ typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js
new file mode 100644
index 000000000..3c5772783
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js
+ * @description ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js
new file mode 100644
index 000000000..6410cbcd2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js
+ * @description Object.defineProperty - 'O' is an Array object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var arrObj = [];
+
+ Object.defineProperty(arrObj, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(arrObj, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && arrObj.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js
new file mode 100644
index 000000000..86686bda4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is writable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js
new file mode 100644
index 000000000..b1bf89668
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js
new file mode 100644
index 000000000..b06540065
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && !afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js
new file mode 100644
index 000000000..d6a1c0e40
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js
+ * @description ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ writable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js
new file mode 100644
index 000000000..f4fb5c272
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js
new file mode 100644
index 000000000..cc0406ca5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js
new file mode 100644
index 000000000..c2217a179
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js
+ * @description ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js
new file mode 100644
index 000000000..6bbeac198
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is writable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js
new file mode 100644
index 000000000..4033235d1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js
new file mode 100644
index 000000000..f3b27d3ad
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js
+ * @description ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && obj.prop === 2010 && afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js
new file mode 100644
index 000000000..0fe7fb727
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js
+ * @description Object.defineProperty - 'O' is a String object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var str = new String("abc");
+
+ Object.defineProperty(str, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(str, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && str.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js
new file mode 100644
index 000000000..c55277998
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js
+ * @description ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ writable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js
new file mode 100644
index 000000000..34d477188
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js
new file mode 100644
index 000000000..fe3752839
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js
new file mode 100644
index 000000000..318b4f5d0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js
+ * @description ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js
new file mode 100644
index 000000000..23e468e5f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js
+ * @description Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "property", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", 1002, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js
new file mode 100644
index 000000000..d38f945be
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js
+ * @description Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js
new file mode 100644
index 000000000..39fba373d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js
+ * @description Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)
+ */
+
+
+function testcase() {
+
+ var obj = [];
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "prop", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "prop", 1002, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js
new file mode 100644
index 000000000..f7da7d5d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js
+ * @description Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)
+ */
+
+
+function testcase() {
+
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js
new file mode 100644
index 000000000..062d78509
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js
+ * @description Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)
+ */
+
+
+function testcase() {
+
+ var obj = fnGlobalObject();
+
+ try {
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true);
+ } finally {
+ delete obj[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js
new file mode 100644
index 000000000..b0850c10d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js
+ * @description Object.defineProperty - Named property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var verifyValue = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return verifyValue && obj.prop === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js
new file mode 100644
index 000000000..d037c2a36
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js
+ * @description ES5 Attributes - property 'P' is an indexed data property with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var valueVerify = (obj[0] === 2010);
+ obj[0] = 1001;
+
+ return valueVerify && obj[0] === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js
new file mode 100644
index 000000000..c7ed25895
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js
+ * @description Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)
+ */
+
+
+function testcase() {
+
+ var obj = [];
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js
new file mode 100644
index 000000000..0b076c9f7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js
+ * @description Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)
+ */
+
+
+function testcase() {
+
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "property", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", 1002, false, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js
new file mode 100644
index 000000000..17be8ca88
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js
+ * @description Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)
+ */
+
+
+function testcase() {
+
+ var obj = fnGlobalObject();
+
+ try {
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "property", {
+ value: 1002
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", 1002, false, false, true);
+ } finally {
+ delete obj.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js
new file mode 100644
index 000000000..130854cb1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js
+ * @description Object.defineProperty - Indexed property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var verifyValue = (obj[0] === 2010);
+ obj[0] = 1001;
+
+ return verifyValue && obj[0] === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js
new file mode 100644
index 000000000..2ffbc247d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js
+ * @description ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var valueVerify = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return valueVerify && obj.prop === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js
new file mode 100644
index 000000000..2a2b5bfaa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js
+ * @description ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'O' is the global object
+ */
+
+
+function testcase() {
+ var obj = fnGlobalObject();
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var valueVerify = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return valueVerify && obj.prop === 2010;
+ } finally {
+ delete obj.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js
new file mode 100644
index 000000000..439e434c0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is unwritable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js
new file mode 100644
index 000000000..4d7499efe
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var property in obj) {
+ if (property === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js
new file mode 100644
index 000000000..2ce4751e4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && !afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js
new file mode 100644
index 000000000..b254bf613
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js
+ * @description ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ writable: true
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js
new file mode 100644
index 000000000..8b5050af2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js
new file mode 100644
index 000000000..6b4bf4c15
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js
new file mode 100644
index 000000000..48c12b5c6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js
+ * @description Object.defineProperty - 'O' is a Boolean object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var obj = new Boolean(true);
+
+ Object.defineProperty(obj, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && obj.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js
new file mode 100644
index 000000000..b7e3db446
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js
+ * @description ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "0", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get") &&
+ desc2.enumerable === true && desc2.configurable === true &&
+ obj[0] === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js
new file mode 100644
index 000000000..8cb2f164b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js
+ * @description ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get") &&
+ desc2.enumerable === true && desc2.configurable === true &&
+ obj.prop === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js
new file mode 100644
index 000000000..49bcf9df4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js
+ * @description ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)
+ */
+
+
+function testcase() {
+ var obj = fnGlobalObject();
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get") &&
+ desc2.enumerable === true && desc2.configurable === true &&
+ obj.prop === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
+ } finally {
+ delete obj.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js
new file mode 100644
index 000000000..35b17474a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js
+ * @description ES5 Attributes - Updating named data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get") &&
+ desc2.enumerable === true && desc2.configurable === true &&
+ obj.prop === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js
new file mode 100644
index 000000000..71d844b87
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js
+ * @description ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "0", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get") &&
+ desc2.enumerable === true && desc2.configurable === true &&
+ obj[0] === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js
new file mode 100644
index 000000000..fadcda99a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js
+ * @description ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)
+ */
+
+
+function testcase() {
+ var obj = fnGlobalObject();
+ try {
+ Object.defineProperty(obj, "0", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "0", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get") &&
+ desc2.enumerable === true && desc2.configurable === true &&
+ obj[0] === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
+ } finally {
+ delete obj[0];
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js
new file mode 100644
index 000000000..f4c3f74c9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js
+ * @description ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js
new file mode 100644
index 000000000..157ee3387
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is unwritable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js
new file mode 100644
index 000000000..91b365342
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var property in obj) {
+ if (property === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js
new file mode 100644
index 000000000..77dc7839c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && obj.prop === 2010 && afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js
new file mode 100644
index 000000000..438e21fcc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js
+ * @description ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ try {
+ Object.defineProperty(obj, "prop", {
+ writable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js
new file mode 100644
index 000000000..388db53af
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === true && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js
new file mode 100644
index 000000000..cd0bbacc3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js
new file mode 100644
index 000000000..7b3fd45c5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js
+ * @description ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js
new file mode 100644
index 000000000..49ed43acd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is unwritable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js
new file mode 100644
index 000000000..1e3af22c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js
new file mode 100644
index 000000000..8af0adb5a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js
+ * @description Object.defineProperty - 'O' is a Number object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var obj = new Number(-2);
+
+ Object.defineProperty(obj, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && obj.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js
new file mode 100644
index 000000000..352deb03e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && !afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js
new file mode 100644
index 000000000..7125027d9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js
+ * @description ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ writable: true
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js
new file mode 100644
index 000000000..290ba5f53
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js
new file mode 100644
index 000000000..81eaf70dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js
new file mode 100644
index 000000000..32d6737e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js
+ * @description ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ function getFunc() {
+ return 20;
+ }
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("value") && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js
new file mode 100644
index 000000000..76bda9d7a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is unwritable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = (obj.prop === 2010);
+ obj.prop = 1001;
+
+ return propertyDefineCorrect && obj.prop === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js
new file mode 100644
index 000000000..222c7738c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js
new file mode 100644
index 000000000..bb8b018a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js
+ * @description ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var beforeDelete = obj.hasOwnProperty("prop");
+ delete obj.prop;
+ var afterDelete = obj.hasOwnProperty("prop");
+ return beforeDelete && obj.prop === 2010 && afterDelete;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js
new file mode 100644
index 000000000..23dda94db
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js
+ * @description ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ writable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js
new file mode 100644
index 000000000..1e900da32
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js
new file mode 100644
index 000000000..8d2bdaf89
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js
+ * @description Object.defineProperty - 'O' is the Math object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Math, "foo", {
+ value: 12,
+ configurable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(Math, "foo", 12, false, false, true);
+ } finally {
+ delete Math.foo;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js
new file mode 100644
index 000000000..eebc57a77
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js
new file mode 100644
index 000000000..3fe2433e5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js
+ * @description ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 2010,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ function getFunc() {
+ return 20;
+ }
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js
new file mode 100644
index 000000000..0af6d924e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a number
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === 1001 && desc.value === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js
new file mode 100644
index 000000000..c92c08787
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a string
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: "ThisIsAString"
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === "ThisIsAString" && desc.value === "ThisIsAString";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js
new file mode 100644
index 000000000..6c0140ceb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a boolean
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: false
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === false && desc.value === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js
new file mode 100644
index 000000000..fe76c03a1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a generic object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var tempObj = { testproperty: 100 };
+
+ Object.defineProperty(obj, "prop", {
+ value: tempObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === tempObj && desc.value === tempObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js
new file mode 100644
index 000000000..ad6caf92b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is an Array object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var arrObj = [];
+
+ Object.defineProperty(obj, "prop", {
+ value: arrObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === arrObj && desc.value === arrObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js
new file mode 100644
index 000000000..cc7aa3c75
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a String object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var strObj = new String();
+
+ Object.defineProperty(obj, "prop", {
+ value: strObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === strObj && desc.value === strObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js
new file mode 100644
index 000000000..fad9de2ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a Number object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var numObj = new Number();
+
+ Object.defineProperty(obj, "prop", {
+ value: numObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === numObj && desc.value === numObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js
new file mode 100644
index 000000000..7983e18ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a Boolean Object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var boolObj = new Boolean();
+
+ Object.defineProperty(obj, "prop", {
+ value: boolObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === boolObj && desc.value === boolObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js
new file mode 100644
index 000000000..054f629f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js
+ * @description Object.defineProperty - 'O' is a Date object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var desc = new Date();
+
+ Object.defineProperty(desc, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(desc, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && desc.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js
new file mode 100644
index 000000000..a787c6b0a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a Function object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var funObj = function () { };
+
+ Object.defineProperty(obj, "prop", {
+ value: funObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === funObj && desc.value === funObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js
new file mode 100644
index 000000000..e6ab0c348
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is an Error object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var errObj = new Error();
+
+ Object.defineProperty(obj, "prop", {
+ value: errObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === errObj && desc.value === errObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js
new file mode 100644
index 000000000..440dfa3e9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a Date object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var dateObj = new Date();
+
+ Object.defineProperty(obj, "prop", {
+ value: dateObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === dateObj && desc.value === dateObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js
new file mode 100644
index 000000000..d35739096
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is a RegExp object
+ */
+
+
+function testcase() {
+ var obj = {};
+ var regObj = new RegExp();
+
+ Object.defineProperty(obj, "prop", {
+ value: regObj
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === regObj && desc.value === regObj;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js
new file mode 100644
index 000000000..21f9bb4c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: undefined
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && typeof obj.prop === "undefined" && typeof desc.value === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js
new file mode 100644
index 000000000..43b1535ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is null
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: null
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === null && desc.value === null;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js
new file mode 100644
index 000000000..4c614d16b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is NaN
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: NaN
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop !== obj.prop && desc.value !== desc.value;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js
new file mode 100644
index 000000000..38464863e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is Infinity
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: Infinity
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === Infinity && desc.value === Infinity;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js
new file mode 100644
index 000000000..3fb75b322
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is -Infinity
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: -Infinity
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === -Infinity && desc.value === -Infinity;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js
new file mode 100644
index 000000000..d03979a78
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js
+ * @description ES5 Attributes - [[Value]] attribute of data property is the global object
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ value: fnGlobalObject()
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.prop === fnGlobalObject() && desc.value === fnGlobalObject();
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js
new file mode 100644
index 000000000..30e38ddfd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. For newly defined properties, step 4.a.1 of
+ * [[DefineOwnProperty]] creates a data property if handed a generic desc.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js
+ * @description Object.defineProperty defines a data property if given a generic desc(8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var o = {};
+
+ var desc = {};
+ Object.defineProperty(o, "foo", desc);
+
+ var propDesc = Object.getOwnPropertyDescriptor(o, "foo");
+ if (propDesc.value === undefined && // this is the value that was set
+ propDesc.writable === false && // false by default
+ propDesc.enumerable === false && // false by default
+ propDesc.configurable === false) { // false by default
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js
new file mode 100644
index 000000000..cc3d4e68c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js
+ * @description Object.defineProperty - 'O' is a RegExp object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var desc = new RegExp();
+
+ Object.defineProperty(desc, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(desc, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && desc.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js
new file mode 100644
index 000000000..968ea8b98
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js
+ * @description ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (String instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(String.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var strObj = new String();
+
+ return !strObj.hasOwnProperty("prop") && strObj.prop === 1001;
+ } finally {
+ delete String.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js
new file mode 100644
index 000000000..40861c264
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js
+ * @description ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Array instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Array.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var arrObj = [];
+ arrObj.prop = 1002;
+
+ return arrObj.hasOwnProperty("prop") && arrObj.prop === 1002;
+ } finally {
+ delete Array.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js
new file mode 100644
index 000000000..f04539a57
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js
+ * @description ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Boolean instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Boolean.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var boolObj = new Boolean();
+
+ var verifyEnumerable = false;
+ for (var p in boolObj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !boolObj.hasOwnProperty("prop") && verifyEnumerable;
+ } finally {
+ delete Boolean.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js
new file mode 100644
index 000000000..0d63bd0b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js
+ * @description ES5 Attributes - Failed to add a property to an object when the object's object has a property with same name and [[Writable]] attribute is set to false (Number instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Number.prototype, "prop", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var numObj = new Number();
+ numObj.prop = 1002;
+
+ return !numObj.hasOwnProperty("prop") && numObj.prop === 1001;
+ } finally {
+ delete Number.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js
new file mode 100644
index 000000000..72861aec1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js
+ * @description ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ var funObj = function () { };
+
+ var verifyEnumerable = false;
+ for (var p in funObj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !funObj.hasOwnProperty("prop") && !verifyEnumerable;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js
new file mode 100644
index 000000000..3351c5759
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js
+ * @description ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (Error Instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Error.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var errObj = new Error();
+
+ return !errObj.hasOwnProperty("prop") && errObj.prop === 1001;
+ } finally {
+ delete Error.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js
new file mode 100644
index 000000000..6444db5a5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js
+ * @description ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Date instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Date.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var dateObj = new Date();
+ dateObj.prop = 1002;
+
+ return dateObj.hasOwnProperty("prop") && dateObj.prop === 1002;
+ } finally {
+ delete Date.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js
new file mode 100644
index 000000000..c63c9798b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js
+ * @description ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is enumerable (RegExp instance)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(RegExp.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ var regObj = new RegExp();
+
+ var verifyEnumerable = false;
+ for (var p in regObj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !regObj.hasOwnProperty("prop") && verifyEnumerable;
+ } finally {
+ delete RegExp.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js
new file mode 100644
index 000000000..72fd26baa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js
+ * @description Object.defineProperty - 'O' is the JSON object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+
+ try {
+ Object.defineProperty(JSON, "foo", {
+ value: 12,
+ configurable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(JSON, "foo", 12, false, false, true);
+ } finally {
+ delete JSON.foo;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js
new file mode 100644
index 000000000..f7c6e81ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js
+ * @description ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false (JSON)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Object.prototype, "prop", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ JSON.prop = 1002;
+
+ return !JSON.hasOwnProperty("prop") && JSON.prop === 1001;
+ } finally {
+ delete Object.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js
new file mode 100644
index 000000000..9a3aff053
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js
+ * @description ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Math)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(Object.prototype, "prop", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+
+ var verifyEnumerable = false;
+ for (var p in Math) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !Math.hasOwnProperty("prop") && !verifyEnumerable;
+ } finally {
+ delete Object.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js
new file mode 100644
index 000000000..95f1c933f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js
+ * @description ES5 Attributes - [[Value]] field of inherited property of [[Prototype]] internal property is correct(Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ Object.defineProperty(appointment, "startTime", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(appointment, "name", {
+ value: "NAME",
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var meeting = Object.create(appointment);
+ Object.defineProperty(meeting, "conferenceCall", {
+ value: "In-person meeting",
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var teamMeeting = Object.create(meeting);
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && teamMeeting.name === "NAME" &&
+ teamMeeting.startTime === 1001 &&
+ teamMeeting.conferenceCall === "In-person meeting";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js
new file mode 100644
index 000000000..377b52aae
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js
+ * @description ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ Object.defineProperty(appointment, "startTime", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(appointment, "name", {
+ value: "NAME",
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var meeting = Object.create(appointment);
+ Object.defineProperty(meeting, "conferenceCall", {
+ value: "In-person meeting",
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var teamMeeting = Object.create(meeting);
+ teamMeeting.name = "Team Meeting";
+ var dateObj = new Date("10/31/2010 08:00");
+ teamMeeting.startTime = dateObj;
+ teamMeeting.conferenceCall = "4255551212";
+
+ var hasOwnProperty = teamMeeting.hasOwnProperty("name") &&
+ teamMeeting.hasOwnProperty("startTime") &&
+ teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && teamMeeting.name === "Team Meeting" &&
+ teamMeeting.startTime === dateObj &&
+ teamMeeting.conferenceCall === "4255551212";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js
new file mode 100644
index 000000000..898cb7efd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js
@@ -0,0 +1,74 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js
+ * @description ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = new Object();
+
+ Object.defineProperty(appointment, "startTime", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(appointment, "name", {
+ value: "NAME",
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var meeting = Object.create(appointment);
+ Object.defineProperty(meeting, "conferenceCall", {
+ value: "In-person meeting",
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var teamMeeting = Object.create(meeting);
+
+ var verifyTimeProp = false;
+ var verifyNameProp = false;
+ var verifyCallProp = false;
+ for (var p in teamMeeting) {
+ if (p === "startTime") {
+ verifyTimeProp = true;
+ }
+ if (p === "name") {
+ verifyNameProp = true;
+ }
+ if (p === "conferenceCall") {
+ verifyCallProp = true;
+ }
+ }
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty("conferenceCall");
+
+ return hasOwnProperty && verifyTimeProp && verifyNameProp && verifyCallProp;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js
new file mode 100644
index 000000000..b279fa399
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js
+ * @description ES5 Attributes - Failed to add properties to an object when the object's prototype has properties with the same name and [[Writable]] set to false (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = new Object();
+
+ Object.defineProperty(appointment, "startTime", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ Object.defineProperty(appointment, "name", {
+ value: "NAME",
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+
+ var meeting = Object.create(appointment);
+ Object.defineProperty(meeting, "conferenceCall", {
+ value: "In-person meeting",
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+
+ var teamMeeting = Object.create(meeting);
+ teamMeeting.name = "Team Meeting";
+ var dateObj = new Date("10/31/2010 08:00");
+ teamMeeting.startTime = dateObj;
+ teamMeeting.conferenceCall = "4255551212";
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && teamMeeting.name === "NAME" &&
+ teamMeeting.startTime === 1001 &&
+ teamMeeting.conferenceCall === "In-person meeting";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js
new file mode 100644
index 000000000..d2944215e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js
@@ -0,0 +1,74 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js
+ * @description ES5 Attributes - Inherited properties whose [[Enumerable]] attribute is set to false is non-enumerable (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ Object.defineProperty(appointment, "startTime", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ Object.defineProperty(appointment, "name", {
+ value: "NAME",
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+
+ var meeting = Object.create(appointment);
+ Object.defineProperty(meeting, "conferenceCall", {
+ value: "In-person meeting",
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+
+ var teamMeeting = Object.create(meeting);
+
+ var verifyTimeProp = false;
+ var verifyNameProp = false;
+ var verifyCallProp = false;
+ for (var p in teamMeeting) {
+ if (p === "startTime") {
+ verifyTimeProp = true;
+ }
+ if (p === "name") {
+ verifyNameProp = true;
+ }
+ if (p === "conferenceCall") {
+ verifyCallProp = true;
+ }
+ }
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty("conferenceCall");
+
+ return hasOwnProperty && !verifyTimeProp && !verifyNameProp && !verifyCallProp;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js
new file mode 100644
index 000000000..46339b979
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js
+ * @description ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct(Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+
+ return !obj.hasOwnProperty("prop") && obj.prop === 1001;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js
new file mode 100644
index 000000000..732d316e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js
+ * @description ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+ obj.prop = 1002;
+
+ return obj.hasOwnProperty("prop") && obj.prop === 1002;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js
new file mode 100644
index 000000000..b97c8db54
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js
+ * @description ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !obj.hasOwnProperty("prop") && verifyEnumerable;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js
new file mode 100644
index 000000000..1fa547091
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js
+ * @description Object.defineProperty - 'O' is an Error object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var desc = new Error();
+
+ Object.defineProperty(desc, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(desc, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && desc.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js
new file mode 100644
index 000000000..e98a44ced
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js
+ * @description ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false(Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+ obj.prop = 1002;
+
+ return !obj.hasOwnProperty("prop") && obj.prop === 1001;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js
new file mode 100644
index 000000000..54095b2cc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js
+ * @description ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !obj.hasOwnProperty("prop") && !verifyEnumerable;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js
new file mode 100644
index 000000000..331ccf40b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js
new file mode 100644
index 000000000..a219ebdfe
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js
new file mode 100644
index 000000000..33a980bcf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js
new file mode 100644
index 000000000..8389e3640
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js
new file mode 100644
index 000000000..ad471a595
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js
new file mode 100644
index 000000000..b09016262
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc1.set === "undefined" && desc2.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js
new file mode 100644
index 000000000..6fe3964ec
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js
new file mode 100644
index 000000000..5756b9541
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js
new file mode 100644
index 000000000..a4ecbd41b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js
+ * @description Object.defineProperty - 'O' is an Arguments object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ var argObj = (function () { return arguments; })();
+
+ Object.defineProperty(argObj, "foo", {
+ value: 12,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(argObj, "foo", {
+ value: 11,
+ configurable: true
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && argObj.foo === 12;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js
new file mode 100644
index 000000000..be6703108
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js
new file mode 100644
index 000000000..59e8b53ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js
new file mode 100644
index 000000000..698eba981
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js
new file mode 100644
index 000000000..280145717
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js
new file mode 100644
index 000000000..c98773cfc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js
new file mode 100644
index 000000000..497523b16
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js
new file mode 100644
index 000000000..3b5abe408
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js
new file mode 100644
index 000000000..626a2cc64
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js
new file mode 100644
index 000000000..93e4f4bcd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js
new file mode 100644
index 000000000..3cdbda569
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js
new file mode 100644
index 000000000..124cd379e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js
new file mode 100644
index 000000000..4a2a3080a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js
new file mode 100644
index 000000000..ea24850ce
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js
new file mode 100644
index 000000000..45f778b76
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js
new file mode 100644
index 000000000..8d7f4e416
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js
new file mode 100644
index 000000000..0811df13c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ obj.prop = "overrideData";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return typeof desc1.set === "undefined" && propertyDefineCorrect && desc2.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js
new file mode 100644
index 000000000..952611471
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js
new file mode 100644
index 000000000..1ac135823
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js
new file mode 100644
index 000000000..643994a85
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js
new file mode 100644
index 000000000..d4e9043f1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js
new file mode 100644
index 000000000..6370dfe83
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js
+ * @description Object.defineProperty - 'O' is the global object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)
+ */
+
+
+function testcase() {
+ try {
+ Object.defineProperty(fnGlobalObject(), "foo", {
+ value: 12,
+ configurable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(fnGlobalObject(), "foo", 12, false, false, true);
+ } finally {
+ delete fnGlobalObject().foo;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js
new file mode 100644
index 000000000..b31dd2ec3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js
new file mode 100644
index 000000000..0f1019e4d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js
new file mode 100644
index 000000000..b48d0dadd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js
new file mode 100644
index 000000000..558055c67
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js
new file mode 100644
index 000000000..45581351e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js
new file mode 100644
index 000000000..6e4b34e72
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js
new file mode 100644
index 000000000..c23037d28
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js
new file mode 100644
index 000000000..bcc496199
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js
new file mode 100644
index 000000000..87f9af3a0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js
new file mode 100644
index 000000000..f3b791011
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js
new file mode 100644
index 000000000..5a782470f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js
+ * @description Object.defineProperty - 'name' is defined as data property if 'name' property doesn't exist in 'O' and 'desc' is generic descriptor (8.12.9 step 4.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ enumerable: true
+ });
+
+ var isEnumerable = false;
+ for (var item in obj) {
+ if (obj.hasOwnProperty(item) && item === "property") {
+ isEnumerable = true;
+ }
+ }
+
+ return obj.hasOwnProperty("property") && isEnumerable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js
new file mode 100644
index 000000000..4fbe10d62
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js
new file mode 100644
index 000000000..c43875607
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js
new file mode 100644
index 000000000..771bd1102
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js
new file mode 100644
index 000000000..29ce04386
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && typeof desc2.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js
new file mode 100644
index 000000000..9b87f8725
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js
new file mode 100644
index 000000000..dc61ebbc1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js
new file mode 100644
index 000000000..9e413630f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js
new file mode 100644
index 000000000..e508e27ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js
new file mode 100644
index 000000000..03f85a87f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js
new file mode 100644
index 000000000..f85435b07
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js
new file mode 100644
index 000000000..e1301b9c4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', [[Value]] of 'name' property is set as undefined if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", undefined, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js
new file mode 100644
index 000000000..2d856f203
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js
new file mode 100644
index 000000000..1b71470c4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js
new file mode 100644
index 000000000..e55d56efc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js
new file mode 100644
index 000000000..3df9fadb4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js
new file mode 100644
index 000000000..23868dc1f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js
new file mode 100644
index 000000000..018149d55
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js
new file mode 100644
index 000000000..9bd2c069a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js
new file mode 100644
index 000000000..014bfcb6f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js
new file mode 100644
index 000000000..4c3c96ed5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js
new file mode 100644
index 000000000..7363893c9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js
new file mode 100644
index 000000000..605e7eca9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', test [[Writable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ enumerable: true,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", 1001, false, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js
new file mode 100644
index 000000000..d8842f1e3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js
new file mode 100644
index 000000000..a8e219994
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && typeof desc2.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js
new file mode 100644
index 000000000..2e61bb8dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js
new file mode 100644
index 000000000..e6e68594c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js
new file mode 100644
index 000000000..524e1a2cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js
new file mode 100644
index 000000000..65592af7a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js
new file mode 100644
index 000000000..2b3ccb58e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js
new file mode 100644
index 000000000..b8f9c7b23
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js
new file mode 100644
index 000000000..edc5e91dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js
+ * @description ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js
new file mode 100644
index 000000000..5a03d0b2a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var result1 = typeof obj.prop === "undefined";
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js
new file mode 100644
index 000000000..7c87dc36c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: true,
+ configurable: true
+ });
+ return dataPropertyAttributesAreCorrect(obj, "property", 1001, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js
new file mode 100644
index 000000000..eb64915af
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js
new file mode 100644
index 000000000..b67522604
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js
new file mode 100644
index 000000000..5b3cedc4a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js
new file mode 100644
index 000000000..dc7db344f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js
new file mode 100644
index 000000000..f616b90d9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js
new file mode 100644
index 000000000..e6c23815d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js
new file mode 100644
index 000000000..91cf504d1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js
new file mode 100644
index 000000000..c9c725bdb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js
new file mode 100644
index 000000000..c4cfc2a88
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js
new file mode 100644
index 000000000..69abc3b66
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ obj.prop = "overrideData";
+ return typeof desc1.set === "undefined" && desc2.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js
new file mode 100644
index 000000000..d62c019fa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js
@@ -0,0 +1,61 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. Step 6 of [[DefineOwnProperty]] returns if
+ * every field of desc also occurs in current and every field in desc has
+ * the same value as current.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js
+ * @description Object.defineProperty is no-op if current and desc are the same data desc
+ */
+
+
+function testcase() {
+ function sameDataDescriptorValues(d1, d2) {
+ return (d1.value === d2.value &&
+ d1.enumerable === d2.enumerable &&
+ d1.writable === d2.writable &&
+ d1.configurable === d2.configurable);
+ }
+
+ var o = {};
+
+ // create a data valued property with the following attributes:
+ // value: 101, enumerable: true, writable: true, configurable: true
+ o["foo"] = 101;
+
+ // query for, and save, the desc. A subsequent call to defineProperty
+ // with the same desc should not disturb the property definition.
+ var d1 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ // now, redefine the property with the same descriptor
+ // the property defintion should not get disturbed.
+ var desc = { value: 101, enumerable: true, writable: true, configurable: true };
+ Object.defineProperty(o, "foo", desc);
+
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (sameDataDescriptorValues(d1, d2) === true) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js
new file mode 100644
index 000000000..c1979e53f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: true,
+ enumerable: true
+ });
+ return dataPropertyAttributesAreCorrect(obj, "property", 1001, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js
new file mode 100644
index 000000000..7ec561458
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js
new file mode 100644
index 000000000..c336c365a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js
new file mode 100644
index 000000000..29ef15b7a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js
new file mode 100644
index 000000000..2be0e0377
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js
new file mode 100644
index 000000000..55eb24ef0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js
new file mode 100644
index 000000000..59ee95dd6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js
new file mode 100644
index 000000000..fc962e1c7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js
new file mode 100644
index 000000000..107bf8425
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js
new file mode 100644
index 000000000..4e93c4596
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js
new file mode 100644
index 000000000..ed0c248d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js
new file mode 100644
index 000000000..d07be37c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js
+ * @description Object.defineProperty - desc is data descriptor, test updating all attribute values of 'name' (8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var obj = { "property": 1 }; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "property", {
+ value: 1001,
+ writable: false,
+ enumerable: false,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "property", 1001, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js
new file mode 100644
index 000000000..96ffe5c79
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js
new file mode 100644
index 000000000..6e24843ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js
new file mode 100644
index 000000000..07387f451
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js
new file mode 100644
index 000000000..55b7100d7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js
new file mode 100644
index 000000000..1dafa0fcf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js
new file mode 100644
index 000000000..55aa10add
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js
new file mode 100644
index 000000000..ad041863d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js
new file mode 100644
index 000000000..c6356a9ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ obj.prop = "overrideData";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return typeof desc1.set === "undefined" && propertyDefineCorrect && desc2.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js
new file mode 100644
index 000000000..863171f8a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js
new file mode 100644
index 000000000..32c5504b7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js
new file mode 100644
index 000000000..6ccd34a09
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js
+ * @description Object.defineProperty - 'desc' is generic descriptor without any attribute, test 'name' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {});
+
+ return dataPropertyAttributesAreCorrect(obj, "property", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js
new file mode 100644
index 000000000..da16bcd17
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js
new file mode 100644
index 000000000..6dbaeae1b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js
new file mode 100644
index 000000000..2629c4ae8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js
new file mode 100644
index 000000000..24c3eb066
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js
new file mode 100644
index 000000000..41b74f26b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js
new file mode 100644
index 000000000..ccd3f9999
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js
new file mode 100644
index 000000000..d27b7efd4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js
new file mode 100644
index 000000000..74bb083b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js
new file mode 100644
index 000000000..17f48127a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js
new file mode 100644
index 000000000..e30620e1d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: undefined,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js
new file mode 100644
index 000000000..6656b18cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', test [[Get]] of 'name' property is set as undefined if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var setFunc = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+
+ Object.defineProperty(obj, "property", {
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "property", undefined, setFunc, "setVerifyHelpProp", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js
new file mode 100644
index 000000000..0d4b5d5c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js
new file mode 100644
index 000000000..92982f36c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction1", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js
new file mode 100644
index 000000000..3e3f85031
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction1", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js
new file mode 100644
index 000000000..528fd8705
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = [];
+
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "prop", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunction1", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js
new file mode 100644
index 000000000..e8fa995be
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction1", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js
new file mode 100644
index 000000000..b2a0b5052
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = fnGlobalObject();
+ try {
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction1", false, true);
+ } finally {
+ delete obj[0];
+ delete obj.verifySetFunction;
+ delete obj.verifySetFunction1;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js
new file mode 100644
index 000000000..b29b725aa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+ var getFunc = function () {
+ return verifySetFunc;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && obj.prop === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js
new file mode 100644
index 000000000..836509f6d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment, 'O' is an Arguments object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+ var getFunc = function () {
+ return verifySetFunc;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj[0] = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("0");
+ var desc = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return propertyDefineCorrect && desc.set === setFunc && obj[0] === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js
new file mode 100644
index 000000000..0fea28099
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is the global object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = fnGlobalObject();
+ try {
+ obj.verifySetFunc = "data";
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj[0] = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("0");
+ var desc = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return propertyDefineCorrect && desc.set === setFunc && obj[0] === "overrideData";
+ } finally {
+ delete obj[0];
+ delete obj.verifySetFunc;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js
new file mode 100644
index 000000000..62d804111
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = [];
+
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction1", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js
new file mode 100644
index 000000000..0cda791ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction1", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js
new file mode 100644
index 000000000..ba53d65f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js
+ * @description Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)
+ */
+
+
+function testcase() {
+
+ var obj = fnGlobalObject();
+ try {
+ obj.verifySetFunction = "data";
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return obj.verifySetFunction;
+ },
+ set: function (value) {
+ obj.verifySetFunction = value;
+ },
+ configurable: true
+ });
+
+ obj.verifySetFunction1 = "data1";
+ var getFunc = function () {
+ return obj.verifySetFunction1;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction1 = value;
+ };
+
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction1", false, true);
+ } finally {
+ delete obj.property;
+ delete obj.verifySetFunction;
+ delete obj.verifySetFunction1;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js
new file mode 100644
index 000000000..f136e3889
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' without [[Set]] using simple assignment is failed, 'A' is an Array object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ var verifySetFunc = "data";
+ var getFunc = function () {
+ return verifySetFunc;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj[0] = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("0");
+ var desc = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined" && obj[0] === "data";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js
new file mode 100644
index 000000000..2bb0eb3b0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is an Arguments object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ var verifySetFunc = "data";
+ var getFunc = function () {
+ return verifySetFunc;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined" && obj.prop === "data";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js
new file mode 100644
index 000000000..5c2ed0042
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is the global object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = fnGlobalObject();
+ try {
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && typeof desc.set === "undefined" && obj.prop === "data";
+ } finally {
+ delete obj.prop;
+ delete obj.verifySetFunc;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js
new file mode 100644
index 000000000..048cc5c4d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js
new file mode 100644
index 000000000..2f594101b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js
new file mode 100644
index 000000000..b380652c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js
new file mode 100644
index 000000000..6c2741f17
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js
new file mode 100644
index 000000000..a6187a994
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && typeof desc2.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js
new file mode 100644
index 000000000..a288e65c5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js
new file mode 100644
index 000000000..72be25cee
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js
new file mode 100644
index 000000000..6feadeb22
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js
+ * @description ES5 Attributes - Updating an indexed 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ Object.defineProperty(obj, "0", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value") &&
+ typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
+ dataPropertyAttributesAreCorrect(obj, "0", 1001, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js
new file mode 100644
index 000000000..fdcf6aa6e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value") &&
+ typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
+ dataPropertyAttributesAreCorrect(obj, "prop", 1001, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js
new file mode 100644
index 000000000..98a78dc6b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object
+ */
+
+
+function testcase() {
+ var obj = fnGlobalObject();
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value") &&
+ typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
+ dataPropertyAttributesAreCorrect(obj, "prop", 1001, false, true, true);
+ } finally {
+ delete obj.prop;
+ delete obj.verifySetFunc;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js
new file mode 100644
index 000000000..ab6013281
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value") &&
+ typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
+ dataPropertyAttributesAreCorrect(obj, "prop", 1001, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js
new file mode 100644
index 000000000..17b91f688
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ Object.defineProperty(obj, "0", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value") &&
+ typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
+ dataPropertyAttributesAreCorrect(obj, "0", 1001, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js
new file mode 100644
index 000000000..7802fc433
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object
+ */
+
+
+function testcase() {
+ var obj = fnGlobalObject();
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+ try {
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ Object.defineProperty(obj, "0", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value") &&
+ typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
+ dataPropertyAttributesAreCorrect(obj, "0", 1001, false, true, true);
+ } finally {
+ delete obj[0];
+ delete obj.verifySetFunc;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js
new file mode 100644
index 000000000..b865261e8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: true
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value") &&
+ typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
+ dataPropertyAttributesAreCorrect(obj, "prop", 1001, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js
new file mode 100644
index 000000000..2fbac4d9d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js
new file mode 100644
index 000000000..7600f7c31
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', test [[Set]] of 'name' property of 'Attributes' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return "property";
+ },
+ enumerable: false,
+ configurable: false
+ });
+
+
+ if (obj.property !== "property") {
+ return false;
+ }
+ var desc = Object.getOwnPropertyDescriptor(obj, "property");
+ if (typeof desc.set !== "undefined") {
+ return false;
+ }
+ for (var p in obj) {
+ if (p === "property") {
+ return false;
+ }
+ }
+ delete obj.property;
+ if (!obj.hasOwnProperty("property")) {
+ return false;
+ }
+
+ return true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js
new file mode 100644
index 000000000..2a91bc332
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js
+ * @description Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ obj.verifySetFunction = "data";
+ var getFunc = function () {
+ return obj.verifySetFunction;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ var result = false;
+ try {
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 100;
+ }
+ });
+ } catch (e) {
+ result = e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+
+ try {
+ Object.defineProperty(obj, "property", {
+ set: function (value) {
+ obj.verifySetFunction1 = value;
+ }
+ });
+ } catch (e1) {
+ return result && e1 instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js
new file mode 100644
index 000000000..1ae8ee51c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ obj[0] = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("0");
+ var desc = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js
new file mode 100644
index 000000000..16acbebd5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js
+ * @description Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunction = "data";
+ var getFunc = function () {
+ return obj.verifySetFunction;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ var result = false;
+ try {
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return 100;
+ }
+ });
+ } catch (e) {
+ result = e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+
+ try {
+ Object.defineProperty(obj, "0", {
+ set: function (value) {
+ obj.verifySetFunction1 = value;
+ }
+ });
+ } catch (e1) {
+ return result && e1 instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js
new file mode 100644
index 000000000..43ee22323
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js
+ * @description Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunction = "data";
+ var getFunc = function () {
+ return obj.verifySetFunction;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ var result = false;
+ try {
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 100;
+ }
+ });
+ } catch (e) {
+ result = e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+
+ try {
+ Object.defineProperty(obj, "property", {
+ set: function (value) {
+ obj.verifySetFunction1 = value;
+ }
+ });
+ } catch (e1) {
+ return result && e1 instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js
new file mode 100644
index 000000000..1f464841e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ obj[0] = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("0");
+ var desc = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js
new file mode 100644
index 000000000..b9ad0d96c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js
new file mode 100644
index 000000000..fc8407dbb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js
+ * @description Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ obj.verifySetFunction = "data";
+ var getFunc = function () {
+ return obj.verifySetFunction;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ var result = false;
+ try {
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return 100;
+ }
+ });
+ } catch (e) {
+ result = e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+
+ try {
+ Object.defineProperty(obj, "0", {
+ set: function (value) {
+ obj.verifySetFunction1 = value;
+ }
+ });
+ } catch (e1) {
+ return result && e1 instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js
new file mode 100644
index 000000000..c5601c49e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js
+ * @description Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunction = "data";
+ var getFunc = function () {
+ return obj.verifySetFunction;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ var result = false;
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: function () {
+ return 100;
+ }
+ });
+ } catch (e) {
+ result = e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: function (value) {
+ obj.verifySetFunction1 = value;
+ }
+ });
+ } catch (e1) {
+ return result && e1 instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js
new file mode 100644
index 000000000..33691a8c0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js
+ * @description Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunction = "data";
+ var getFunc = function () {
+ return obj.verifySetFunction;
+ };
+ var setFunc = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ var result = false;
+ try {
+ Object.defineProperty(obj, "0", {
+ get: function () {
+ return 100;
+ }
+ });
+ } catch (e) {
+ result = e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+
+ try {
+ Object.defineProperty(obj, "0", {
+ set: function (value) {
+ obj.verifySetFunction1 = value;
+ }
+ });
+ } catch (e1) {
+ return result && e1 instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js
new file mode 100644
index 000000000..a058b55e7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js
new file mode 100644
index 000000000..6255a1dc8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js
new file mode 100644
index 000000000..ecf2d397b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return propertyDefineCorrect && desc.enumerable === true;
+ }
+ }
+
+ return false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js
new file mode 100644
index 000000000..fc51da477
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js
new file mode 100644
index 000000000..81d8baac9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js
new file mode 100644
index 000000000..48b2f4ddd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js
new file mode 100644
index 000000000..f8e10283e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js
@@ -0,0 +1,71 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: false
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js
new file mode 100644
index 000000000..b0fc9d73d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js
new file mode 100644
index 000000000..7d49591fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ try {
+ Object.defineProperty(obj, "0", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunc", true, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js
new file mode 100644
index 000000000..bd77d47c0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunc", true, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js
new file mode 100644
index 000000000..f63193930
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js
+ * @description ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)
+ */
+
+
+function testcase() {
+ var obj = [];
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunc", true, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js
new file mode 100644
index 000000000..19d95d552
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js
+ * @description ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)
+ */
+
+
+function testcase() {
+ var obj = (function () {
+ return arguments;
+ }());
+
+ obj.verifySetFunc = "data";
+ var getFunc = function () {
+ return obj.verifySetFunc;
+ };
+
+ var setFunc = function (value) {
+ obj.verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "0", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ try {
+ Object.defineProperty(obj, "0", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "0");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunc", true, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js
new file mode 100644
index 000000000..0bfc33fa7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: true,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js
new file mode 100644
index 000000000..f0d57936b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js
new file mode 100644
index 000000000..9b9841837
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js
new file mode 100644
index 000000000..63ed53cc0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var setFunc = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+ var getFunc = function () {
+ return 10;
+ };
+
+ Object.defineProperty(obj, "property", {
+ set: setFunc,
+ get: getFunc,
+ configurable: true
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js
new file mode 100644
index 000000000..4a4d6720b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js
new file mode 100644
index 000000000..0297c4207
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js
new file mode 100644
index 000000000..a3ed1d2f1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js
@@ -0,0 +1,58 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js
+ * @description ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ var result2 = typeof obj.prop === "undefined";
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js
new file mode 100644
index 000000000..4c98bad66
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js
+ * @description ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && typeof desc2.set === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js
new file mode 100644
index 000000000..5d80d9d94
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js
+ * @description ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js
new file mode 100644
index 000000000..91dda2901
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js
+ * @description ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ configurable: false
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js
new file mode 100644
index 000000000..3b96a3f94
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js
+ * @description ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: true
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js
new file mode 100644
index 000000000..f630143e4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js
+ * @description ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js
new file mode 100644
index 000000000..cd7819fd1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js
+ * @description ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ obj.prop = "overrideData";
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js
new file mode 100644
index 000000000..72a077648
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ for (var p in obj) {
+ if (p === "prop") {
+ return false;
+ }
+ }
+
+ return propertyDefineCorrect && desc.enumerable === false;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js
new file mode 100644
index 000000000..de4f557a7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js
+ * @description Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var setFunc = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+ var getFunc = function () {
+ return 10;
+ };
+
+ Object.defineProperty(obj, "property", {
+ set: setFunc,
+ get: getFunc,
+ enumerable: true
+ });
+ return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "setVerifyHelpProp", true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js
new file mode 100644
index 000000000..c9b5cb6ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js
+ * @description ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var propertyDefineCorrect = obj.hasOwnProperty("prop");
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ delete obj.prop;
+
+ return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js
new file mode 100644
index 000000000..87aa9ca0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js
+ * @description ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var result1 = obj.prop === 1001;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ get: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = obj.prop === 1001;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js
new file mode 100644
index 000000000..7998e7a52
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js
+ * @description ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ set: undefined
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js
new file mode 100644
index 000000000..cd0c35c14
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js
@@ -0,0 +1,71 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js
+ * @description ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ var result1 = false;
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p1 in obj) {
+ if (p1 === "prop") {
+ result1 = true;
+ }
+ }
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ enumerable: true
+ });
+
+ return false;
+ } catch (e) {
+ var result2 = false;
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ for (var p2 in obj) {
+ if (p2 === "prop") {
+ result2 = true;
+ }
+ }
+
+ return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js
new file mode 100644
index 000000000..c5ff60356
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js
@@ -0,0 +1,60 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js
+ * @description ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ configurable: true
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+ delete obj.prop;
+
+ return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js
new file mode 100644
index 000000000..b0fad0a49
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js
+ * @description ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var getFunc = function () {
+ return 1001;
+ };
+
+ var verifySetFunc = "data";
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc,
+ set: setFunc,
+ enumerable: false,
+ configurable: false
+ });
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ try {
+ Object.defineProperty(obj, "prop", {
+ value: 1001
+ });
+
+ return false;
+ } catch (e) {
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js
new file mode 100644
index 000000000..ffd38c80a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js
+ * @description ES5 Attributes - [[Get]] attribute is a function which has zero argument
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function () {
+ return 2010;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && obj.prop === 2010 && desc.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js
new file mode 100644
index 000000000..6a4fb843b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js
+ * @description ES5 Attributes - [[Get]] attribute is a function which has one argument
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function (arg1) {
+ return 2010;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && obj.prop === 2010 && desc.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js
new file mode 100644
index 000000000..8c9304c63
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js
+ * @description ES5 Attributes - [[Get]] attribute is a function which has two arguments
+ */
+
+
+function testcase() {
+ var obj = {};
+ var getFunc = function (arg1, arg2) {
+ return 2010;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && obj.prop === 2010 && desc.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js
new file mode 100644
index 000000000..6d1085335
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js
+ * @description ES5 Attributes - [[Get]] attribute is a function which contains global variable
+ */
+
+
+function testcase() {
+ var obj = {};
+ var globalVariable = 20;
+ var getFunc = function () {
+ globalVariable = 2010;
+ return globalVariable;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.get === getFunc && obj.prop === 2010 && globalVariable === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js
new file mode 100644
index 000000000..3a8567644
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js
+ * @description Object.defineProperty - 'desc' is accessor descriptor, test updating all attribute values of 'name' (8.12.9 step 4.b.i)
+ */
+
+
+function testcase() {
+ var obj = {};
+ var setFunc = function (value) {
+ obj.setVerifyHelpProp = value;
+ };
+ var getFunc = function () {
+ return 14;
+ };
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 11;
+ },
+ set: function (value) { },
+ configurable: true,
+ enumerable: true
+ });
+
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false,
+ enumerable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js
new file mode 100644
index 000000000..eabc49582
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js
+ * @description ES5 Attributes - [[Get]] attribute is a function which doesn't contains return statement
+ */
+
+
+function testcase() {
+ var obj = {};
+ var verifyExecute = false;
+ var getFunc = function () {
+ verifyExecute = true;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.get === getFunc && typeof obj.prop === "undefined" && verifyExecute;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js
new file mode 100644
index 000000000..8aa50c465
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js
+ * @description ES5 Attributes - [[Get]] attribute is a function which involves 'this' object into statement(s)
+ */
+
+
+function testcase() {
+ var obj = {
+ len: 2010
+ };
+ var getFunc = function () {
+ return this;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ get: getFunc
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && obj.prop === obj && desc.get === getFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js
new file mode 100644
index 000000000..1c717b1cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js
+ * @description ES5 Attributes - [[Set]] attribute is a function which has zero argument
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var setFunc = function () { };
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.set === setFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js
new file mode 100644
index 000000000..1594fbe6a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js
+ * @description ES5 Attributes - [[Set]] attribute is a function which has one argument
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var verifySetFunc = 20;
+ var setFunc = function (value) {
+ verifySetFunc = value;
+ };
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+ obj.prop = 2010;
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.set === setFunc && verifySetFunc === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js
new file mode 100644
index 000000000..2c681138d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js
+ * @description ES5 Attributes - [[Set]] attribute is a function which has two arguments
+ */
+
+
+function testcase() {
+ var obj = {};
+ var firstArg = 12;
+ var secondArg = 12;
+
+ var setFunc = function (a, b) {
+ firstArg = a;
+ secondArg = b;
+ };
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+ obj.prop = 100;
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.set === setFunc && firstArg === 100 && typeof secondArg === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js
new file mode 100644
index 000000000..af5fe8191
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js
+ * @description ES5 Attributes - [[Set]] attribute is a function which contains global variable
+ */
+
+
+function testcase() {
+ var obj = {};
+ var globalVariable = 20;
+ var setFunc = function () {
+ globalVariable = 2010;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+ obj.prop = 10;
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.set === setFunc && globalVariable === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js
new file mode 100644
index 000000000..642a5f70e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js
+ * @description ES5 Attributes - [[Set]] attribute is a function which contains return statement
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var setFunc = function () {
+ return 2010;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.set === setFunc;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js
new file mode 100644
index 000000000..5b6172c67
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js
+ * @description ES5 Attributes - [[Set]] attribute is a function which involves 'this' object into statement(s)
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var setFunc = function (value) {
+ this.len = value;
+ };
+
+ Object.defineProperty(obj, "prop", {
+ set: setFunc
+ });
+ obj.prop = 2010;
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "prop");
+
+ return obj.hasOwnProperty("prop") && desc.set === setFunc && obj.len === 2010;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js
new file mode 100644
index 000000000..2c923955a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js
+ * @description ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (String instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(String.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var strObj = new String();
+
+ return !strObj.hasOwnProperty("prop") && strObj.prop === "data";
+ } finally {
+ delete String.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js
new file mode 100644
index 000000000..aa4be38be
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js
+ * @description ES5 Attributes - Success to add property into object (Array instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Array.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var arrObj = [];
+ arrObj.prop = "myOwnProperty";
+
+ return !arrObj.hasOwnProperty("prop") && arrObj.prop === "myOwnProperty" && data === "myOwnProperty";
+ } finally {
+ delete Array.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js
new file mode 100644
index 000000000..643fc494f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js
+ * @description Object.defineProperty - 'name' is data descriptor and every fields in 'desc' is absent (8.12.9 step 5)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", {});
+ return dataPropertyAttributesAreCorrect(obj, "foo", 101, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js
new file mode 100644
index 000000000..a815ef8ef
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js
+ * @description ES5 Attributes - Inherited property is enumerable (Boolean instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Boolean.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var boolObj = new Boolean();
+ var verifyEnumerable = false;
+ for (var p in boolObj) {
+ if(p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !boolObj.hasOwnProperty("prop") && verifyEnumerable;
+ } finally {
+ delete Boolean.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js
new file mode 100644
index 000000000..55aceb916
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js
+ * @description ES5 Attributes - Fail to add property into object (Number instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Number.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ enumerable: false,
+ configurable: true
+ });
+ var numObj = new Number();
+ numObj.prop = "myOwnProperty";
+
+ return !numObj.hasOwnProperty("prop") && numObj.prop === "data" && data === "data";
+ } finally {
+ delete Number.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js
new file mode 100644
index 000000000..799d8ca2e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js
+ * @description ES5 Attributes - Inherited property is non-enumerable (Function instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ enumerable: false,
+ configurable: true
+ });
+ var funObj = function () { };
+ var verifyEnumerable = false;
+ for (var p in funObj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !funObj.hasOwnProperty("prop") && !verifyEnumerable;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js
new file mode 100644
index 000000000..5566ad963
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js
+ * @description ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Error Instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Error.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var errObj = new Error();
+
+ return !errObj.hasOwnProperty("prop") && errObj.prop === "data";
+ } finally {
+ delete Error.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js
new file mode 100644
index 000000000..67bc31eb1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js
@@ -0,0 +1,48 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js
+ * @description ES5 Attributes - Failed to add property into object (Date instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Date.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var dateObj = new Date();
+ dateObj.prop = "myOwnProperty";
+
+ return !dateObj.hasOwnProperty("prop") && dateObj.prop === "myOwnProperty" && data === "myOwnProperty";
+ } finally {
+ delete Date.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js
new file mode 100644
index 000000000..c455cbc52
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js
+ * @description ES5 Attributes - Inherited property is enumerable (RegExp instance)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(RegExp.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var regObj = new RegExp();
+ var verifyEnumerable = false;
+ for (var p in regObj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !regObj.hasOwnProperty("prop") && verifyEnumerable;
+ } finally {
+ delete RegExp.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js
new file mode 100644
index 000000000..7242df651
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js
+ * @description ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (JSON)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Object.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ enumerable: false,
+ configurable: true
+ });
+ JSON.prop = "myOwnProperty";
+
+ return !JSON.hasOwnProperty("prop") && JSON.prop === "data" && data === "data";
+ } finally {
+ delete Object.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js
new file mode 100644
index 000000000..1c2b7d31c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js
+ * @description ES5 Attributes - Inherited property is non-enumerable (Math)
+ */
+
+
+function testcase() {
+ var data = "data";
+ try {
+ Object.defineProperty(Object.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ enumerable: false,
+ configurable: true
+ });
+ var verifyEnumerable = false;
+ for (var p in Math) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !Math.hasOwnProperty("prop") && !verifyEnumerable;
+ } finally {
+ delete Object.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js
new file mode 100644
index 000000000..3c3621814
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js
+ * @description ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ var data1 = 1001;
+ Object.defineProperty(appointment, "startTime", {
+ get: function () {
+ return data1;
+ },
+ enumerable: true,
+ configurable: false
+ });
+ var data2 = "NAME";
+ Object.defineProperty(appointment, "name", {
+ get: function () {
+ return data2;
+ },
+ set: function (value) {
+ data2 = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ var meeting = Object.create(appointment);
+ var data3 = "In-person meeting";
+ Object.defineProperty(meeting, "conferenceCall", {
+ get: function () {
+ return data3;
+ },
+ enumerable: true,
+ configurable: false
+ });
+
+ var teamMeeting = Object.create(meeting);
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && teamMeeting.name === "NAME" &&
+ teamMeeting.startTime === 1001 &&
+ teamMeeting.conferenceCall === "In-person meeting";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js
new file mode 100644
index 000000000..8f7206a47
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js
@@ -0,0 +1,80 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js
+ * @description ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ var data1 = 1001;
+ Object.defineProperty(appointment, "startTime", {
+ get: function () {
+ return data1;
+ },
+ set: function (value) {
+ data1 = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var data2 = "NAME";
+ Object.defineProperty(appointment, "name", {
+ get: function () {
+ return data2;
+ },
+ set: function (value) {
+ data2 = value;
+ },
+ enumerable: true,
+ configurable: false
+ });
+
+ var meeting = Object.create(appointment);
+ var data3 = "In-person meeting";
+ Object.defineProperty(meeting, "conferenceCall", {
+ get: function () {
+ return data3;
+ },
+ set: function (value) {
+ data3 = value;
+ },
+ enumerable: true,
+ configurable: false
+ });
+
+ var teamMeeting = Object.create(meeting);
+ teamMeeting.name = "Team Meeting";
+ var dateObj = new Date("10/31/2010 08:00");
+ teamMeeting.startTime = dateObj;
+ teamMeeting.conferenceCall = "4255551212";
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && teamMeeting.name === "Team Meeting" &&
+ teamMeeting.startTime === dateObj &&
+ teamMeeting.conferenceCall === "4255551212";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js
new file mode 100644
index 000000000..c6f5cb8fe
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js
+ * @description Object.defineProperty - 'name' is accessor descriptor and every fields in 'desc' is absent (8.12.9 step 5)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 0;
+ }
+ function setFunc(value) {
+ obj.helpVerifySet = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ Object.defineProperty(obj, "foo", {});
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "helpVerifySet", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js
new file mode 100644
index 000000000..393395af4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js
@@ -0,0 +1,89 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js
+ * @description ES5 Attributes - Inherited property is enumerable (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ var data1 = 1001;
+ Object.defineProperty(appointment, "startTime", {
+ get: function () {
+ return data1;
+ },
+ set: function (value) {
+ data1 = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ var data2 = "NAME";
+ Object.defineProperty(appointment, "name", {
+ get: function () {
+ return data2;
+ },
+ set: function (value) {
+ data2 = value;
+ },
+ enumerable: true,
+ configurable: false
+ });
+
+ var meeting = Object.create(appointment);
+ var data3 = "In-person meeting";
+ Object.defineProperty(meeting, "conferenceCall", {
+ get: function () {
+ return data3;
+ },
+ set: function (value) {
+ data3 = value;
+ },
+ enumerable: true,
+ configurable: false
+ });
+
+ var teamMeeting = Object.create(meeting);
+
+ var verifyTimeProp = false;
+ var verifyNameProp = false;
+ var verifyCallProp = false;
+ for (var p in teamMeeting) {
+ if (p === "startTime") {
+ verifyTimeProp = true;
+ }
+ if (p === "name") {
+ verifyNameProp = true;
+ }
+ if (p === "conferenceCall") {
+ verifyCallProp = true;
+ }
+ }
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && verifyTimeProp && verifyNameProp && verifyCallProp;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js
new file mode 100644
index 000000000..6dc6e8eeb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js
@@ -0,0 +1,71 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js
+ * @description ES5 Attributes - Fail to update value of property of [[Proptotype]] internal property (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ var data1 = 1001;
+ Object.defineProperty(appointment, "startTime", {
+ get: function () {
+ return data1;
+ },
+ enumerable: false,
+ configurable: false
+ });
+ var data2 = "NAME";
+ Object.defineProperty(appointment, "name", {
+ get: function () {
+ return data2;
+ },
+ enumerable: false,
+ configurable: true
+ });
+
+ var meeting = Object.create(appointment);
+ var data3 = "In-person meeting";
+ Object.defineProperty(meeting, "conferenceCall", {
+ get: function () {
+ return data3;
+ },
+ enumerable: false,
+ configurable: false
+ });
+
+ var teamMeeting = Object.create(meeting);
+ teamMeeting.name = "IE Team Meeting";
+ var dateObj = new Date("10/31/2010 08:00");
+ teamMeeting.startTime = dateObj;
+ teamMeeting.conferenceCall = "4255551212";
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && teamMeeting.name === "NAME" &&
+ teamMeeting.startTime === 1001 &&
+ teamMeeting.conferenceCall === "In-person meeting";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js
new file mode 100644
index 000000000..df56feb21
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js
@@ -0,0 +1,80 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js
+ * @description ES5 Attributes - Inherited property is non-enumerable (Object.create)
+ */
+
+
+function testcase() {
+ var appointment = {};
+
+ var data1 = 1001;
+ Object.defineProperty(appointment, "startTime", {
+ get: function () {
+ return data1;
+ },
+ enumerable: false,
+ configurable: true
+ });
+ var data2 = "NAME";
+ Object.defineProperty(appointment, "name", {
+ get: function () {
+ return data2;
+ },
+ enumerable: false,
+ configurable: false
+ });
+
+ var meeting = Object.create(appointment);
+ var data3 = "In-person meeting";
+ Object.defineProperty(meeting, "conferenceCall", {
+ get: function () {
+ return data3;
+ },
+ enumerable: false,
+ configurable: true
+ });
+
+ var teamMeeting = Object.create(meeting);
+
+ var verifyTimeProp = false;
+ var verifyNameProp = false;
+ var verifyCallProp = false;
+ for (var p in teamMeeting) {
+ if (p === "startTime") {
+ verifyTimeProp = true;
+ }
+ if (p === "name") {
+ verifyNameProp = true;
+ }
+ if (p === "conferenceCall") {
+ verifyCallProp = true;
+ }
+ }
+
+ var hasOwnProperty = !teamMeeting.hasOwnProperty("name") &&
+ !teamMeeting.hasOwnProperty("startTime") &&
+ !teamMeeting.hasOwnProperty('conferenceCall');
+
+ return hasOwnProperty && !verifyTimeProp && !verifyNameProp && !verifyCallProp;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js
new file mode 100644
index 000000000..34806817f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js
+ * @description ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ var data = "data";
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+
+ return !obj.hasOwnProperty("prop") && obj.prop === data;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js
new file mode 100644
index 000000000..4f3ca4397
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js
+ * @description ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ var data = "data";
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+ obj.prop = "overrideData";
+
+ return !obj.hasOwnProperty("prop") && obj.prop === "overrideData";
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js
new file mode 100644
index 000000000..6af5c6ed0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js
+ * @description ES5 Attributes - Inherited property is enumerable (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ var data = "data";
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ set: function (value) {
+ data = value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !obj.hasOwnProperty("prop") && verifyEnumerable;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js
new file mode 100644
index 000000000..469d61ae8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js
+ * @description ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ var data = "data";
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ enumerable: false,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+ obj.prop = "overrideData";
+
+ return !obj.hasOwnProperty("prop") && obj.prop === "data";
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js
new file mode 100644
index 000000000..740898b2f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js
+ * @description ES5 Attributes - Inherited property is non-enumerable (Function.prototype.bind)
+ */
+
+
+function testcase() {
+ var foo = function () { };
+ var data = "data";
+ try {
+ Object.defineProperty(Function.prototype, "prop", {
+ get: function () {
+ return data;
+ },
+ enumerable: false,
+ configurable: true
+ });
+
+ var obj = foo.bind({});
+
+ var verifyEnumerable = false;
+ for (var p in obj) {
+ if (p === "prop") {
+ verifyEnumerable = true;
+ }
+ }
+
+ return !obj.hasOwnProperty("prop") && !verifyEnumerable;
+ } finally {
+ delete Function.prototype.prop;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js
new file mode 100644
index 000000000..e3ffb13ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js
+ * @description ES5 Attributes - all attributes in Object.getPrototypeOf are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "getPrototypeOf");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.getPrototypeOf;
+
+ try {
+ Object.getPrototypeOf = "2010";
+
+ var isWritable = (Object.getPrototypeOf === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "getPrototypeOf") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.getPrototypeOf;
+
+ var isConfigurable = !Object.hasOwnProperty("getPrototypeOf");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "getPrototypeOf", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js
new file mode 100644
index 000000000..bbce2adb0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js
+ * @description ES5 Attributes - all attributes in Object.getOwnPropertyDescriptor are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "getOwnPropertyDescriptor");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.getOwnPropertyDescriptor;
+
+ try {
+ Object.getOwnPropertyDescriptor = "2010";
+
+ var isWritable = (Object.getOwnPropertyDescriptor === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "getOwnPropertyDescriptor") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.getOwnPropertyDescriptor;
+
+ var isConfigurable = !Object.hasOwnProperty("getOwnPropertyDescriptor");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "getOwnPropertyDescriptor", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js
new file mode 100644
index 000000000..8401ad0b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. Step 6 of [[DefineOwnProperty]] returns if
+ * every field of desc also occurs in current and every field in desc has
+ * the same value as current.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js
+ * @description Object.defineProperty is no-op if current and desc are the same accessor desc
+ */
+
+
+function testcase() {
+ function sameAccessorDescriptorValues(d1, d2) {
+ return (d1.get == d2.get &&
+ d1.enumerable == d2.enumerable &&
+ d1.configurable == d2.configurable);
+ }
+
+ var o = {};
+
+ // create an accessor property with the following attributes:
+ // enumerable: true, configurable: true
+ var desc = {
+ get: function () {},
+ enumerable: true,
+ configurable: true
+ };
+
+ Object.defineProperty(o, "foo", desc);
+
+ // query for, and save, the desc. A subsequent call to defineProperty
+ // with the same desc should not disturb the property definition.
+ var d1 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ // now, redefine the property with the same descriptor
+ // the property defintion should not get disturbed.
+ Object.defineProperty(o, "foo", desc);
+
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+
+ if (sameAccessorDescriptorValues(d1, d2) === true) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js
new file mode 100644
index 000000000..ebcd85a15
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js
+ * @description Object.defineProperty - type of desc.value is different from type of name.value (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", { value: "abc" });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "abc", true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js
new file mode 100644
index 000000000..440f8b46e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js
+ * @description ES5 Attributes - all attributes in Object.getOwnPropertyNames are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "getOwnPropertyNames");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.getOwnPropertyNames;
+
+ try {
+ Object.getOwnPropertyNames = "2010";
+
+ var isWritable = (Object.getOwnPropertyNames === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "getOwnPropertyNames") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.getOwnPropertyNames;
+
+ var isConfigurable = !Object.hasOwnProperty("getOwnPropertyNames");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "getOwnPropertyNames", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js
new file mode 100644
index 000000000..748a717c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js
+ * @description ES5 Attributes - all attributes in Object.create are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "create");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.create;
+
+ try {
+ Object.create = "2010";
+
+ var isWritable = (Object.create === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "create") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.create;
+
+ var isConfigurable = !Object.hasOwnProperty("create");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "create", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js
new file mode 100644
index 000000000..407314355
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js
+ * @description ES5 Attributes - all attributes in Object.defineProperty are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "defineProperty");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+ var temp = Object.defineProperty;
+ try {
+ Object.defineProperty = "2010";
+
+ var isWritable = (Object.defineProperty === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "defineProperty") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.defineProperty;
+
+ var isConfigurable = !Object.hasOwnProperty("defineProperty");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty = temp;
+ Object.defineProperty(Object, "defineProperty", {
+ enumerable: false
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js
new file mode 100644
index 000000000..17b6d9d07
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js
+ * @description ES5 Attributes - all attributes in Object.defineProperties are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "defineProperties");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.defineProperties;
+
+ try {
+ Object.defineProperties = "2010";
+
+ var isWritable = (Object.defineProperties === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "defineProperties") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.defineProperties;
+
+ var isConfigurable = !Object.hasOwnProperty("defineProperties");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "defineProperties", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js
new file mode 100644
index 000000000..09bd283ad
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js
+ * @description ES5 Attributes - all attributes in Object.seal are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "seal");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.seal;
+
+ try {
+ Object.seal = "2010";
+
+ var isWritable = (Object.seal === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "seal") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.seal;
+
+ var isConfigurable = !Object.hasOwnProperty("seal");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "seal", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js
new file mode 100644
index 000000000..2506f7171
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js
+ * @description ES5 Attributes - all attributes in Object.freeze are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "freeze");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.freeze;
+
+ try {
+ Object.freeze = "2010";
+
+ var isWritable = (Object.freeze === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "freeze") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.freeze;
+
+ var isConfigurable = !Object.hasOwnProperty("freeze");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "freeze", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js
new file mode 100644
index 000000000..7972a5801
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js
+ * @description ES5 Attributes - all attributes in Object.preventExtensions are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "preventExtensions");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.preventExtensions;
+
+ try {
+ Object.preventExtensions = "2010";
+
+ var isWritable = (Object.preventExtensions === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "preventExtensions") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.preventExtensions;
+
+ var isConfigurable = !Object.hasOwnProperty("preventExtensions");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "preventExtensions", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js
new file mode 100644
index 000000000..f7e1d7410
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js
+ * @description ES5 Attributes - all attributes in Object.isSealed are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "isSealed");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.isSealed;
+
+ try {
+ Object.isSealed = "2010";
+
+ var isWritable = (Object.isSealed === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "isSealed") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.isSealed;
+
+ var isConfigurable = !Object.hasOwnProperty("isSealed");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "isSealed", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js
new file mode 100644
index 000000000..9e2231d74
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js
+ * @description ES5 Attributes - all attributes in Object.isFrozen are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "isFrozen");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.isFrozen;
+
+ try {
+ Object.isFrozen = "2010";
+
+ var isWritable = (Object.isFrozen === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "isFrozen") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.isFrozen;
+
+ var isConfigurable = !Object.hasOwnProperty("isFrozen");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "isFrozen", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js
new file mode 100644
index 000000000..73c36244f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js
+ * @description ES5 Attributes - all attributes in Object.isExtensible are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "isExtensible");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.isExtensible;
+
+ try {
+ Object.isExtensible = "2010";
+
+ var isWritable = (Object.isExtensible === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "isExtensible") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.isExtensible;
+
+ var isConfigurable = !Object.hasOwnProperty("isExtensible");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "isExtensible", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js
new file mode 100644
index 000000000..bf8630e0a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js
+ * @description Object.defineProperty - both desc.value and name.value are undefined (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { value: undefined });
+
+ Object.defineProperty(obj, "foo", { value: undefined });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js
new file mode 100644
index 000000000..915b19e6b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js
+ * @description ES5 Attributes - all attributes in Object.keys are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Object, "keys");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Object.keys;
+
+ try {
+ Object.keys = "2010";
+
+ var isWritable = (Object.keys === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Object) {
+ if (prop === "keys") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Object.keys;
+
+ var isConfigurable = !Object.hasOwnProperty("keys");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Object, "keys", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js
new file mode 100644
index 000000000..661941900
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js
+ * @description ES5 Attributes - all attributes in Function.prototype.bind are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Function.prototype, "bind");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Function.prototype.bind;
+
+ try {
+ Function.prototype.bind = "2010";
+
+ var isWritable = (Function.prototype.bind === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Function.prototype) {
+ if (prop === "bind") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Function.prototype.bind;
+
+ var isConfigurable = !Function.prototype.hasOwnProperty("bind");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Function.prototype, "bind", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js
new file mode 100644
index 000000000..feb8ee3c2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js
+ * @description ES5 Attributes - all attributes in Array.prototype.indexOf are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "indexOf");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.indexOf;
+
+ try {
+ Array.prototype.indexOf = "2010";
+
+ var isWritable = (Array.prototype.indexOf === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "indexOf") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.indexOf;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("indexOf");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "indexOf", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js
new file mode 100644
index 000000000..0b3067bb5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js
+ * @description ES5 Attributes - all attributes in Object.lastIndexOf are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "lastIndexOf");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.lastIndexOf;
+
+ try {
+ Array.prototype.lastIndexOf = "2010";
+
+ var isWritable = (Array.prototype.lastIndexOf === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "lastIndexOf") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.lastIndexOf;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("lastIndexOf");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "lastIndexOf", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js
new file mode 100644
index 000000000..7b068be06
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js
+ * @description ES5 Attributes - all attributes in Array.prototype.every are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "every");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.every;
+
+ try {
+ Array.prototype.every = "2010";
+
+ var isWritable = (Array.prototype.every === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "every") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.every;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("every");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "every", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js
new file mode 100644
index 000000000..d7c6211ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js
+ * @description ES5 Attributes - all attributes in Array.prototype.some are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "some");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.some;
+
+ try {
+ Array.prototype.some = "2010";
+
+ var isWritable = (Array.prototype.some === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "some") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.some;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("some");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "some", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js
new file mode 100644
index 000000000..c293e2ed2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js
+ * @description ES5 Attributes - all attributes in Array.prototype.forEach are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "forEach");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.forEach;
+
+ try {
+ Array.prototype.forEach = "2010";
+
+ var isWritable = (Array.prototype.forEach === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "forEach") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.forEach;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("forEach");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "forEach", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js
new file mode 100644
index 000000000..5284ed1ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js
+ * @description ES5 Attributes - all attributes in Array.prototype.map are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "map");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.map;
+
+ try {
+ Array.prototype.map = "2010";
+
+ var isWritable = (Array.prototype.map === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "map") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.map;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("map");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "map", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js
new file mode 100644
index 000000000..895973982
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js
+ * @description ES5 Attributes - all attributes in Array.prototype.filter are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "filter");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.filter;
+
+ try {
+ Array.prototype.filter = "2010";
+
+ var isWritable = (Array.prototype.filter === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "filter") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.filter;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("filter");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "filter", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js
new file mode 100644
index 000000000..8ed8818ac
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js
+ * @description ES5 Attributes - all attributes in Array.prototype.reduce are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "reduce");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.reduce;
+
+ try {
+ Array.prototype.reduce = "2010";
+
+ var isWritable = (Array.prototype.reduce === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "reduce") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.reduce;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("reduce");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "reduce", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js
new file mode 100644
index 000000000..2b6f9c50b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js
+ * @description Object.defineProperty - both desc.value and name.value are null (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { value: null });
+
+ Object.defineProperty(obj, "foo", { value: null });
+ return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js
new file mode 100644
index 000000000..00dc3ff32
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js
+ * @description ES5 Attributes - all attributes in Array.prototype.reduceRight are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Array.prototype, "reduceRight");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Array.prototype.reduceRight;
+
+ try {
+ Array.prototype.reduceRight = "2010";
+
+ var isWritable = (Array.prototype.reduceRight === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Array.prototype) {
+ if (prop === "reduceRight") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Array.prototype.reduceRight;
+
+ var isConfigurable = !Array.prototype.hasOwnProperty("reduceRight");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Array.prototype, "reduceRight", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js
new file mode 100644
index 000000000..a883359cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js
+ * @description ES5 Attributes - all attributes in String.prototype.trim are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(String.prototype, "trim");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = String.prototype.trim;
+
+ try {
+ String.prototype.trim = "2010";
+
+ var isWritable = (String.prototype.trim === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in String.prototype) {
+ if (prop === "trim") {
+ isEnumerable = true;
+ }
+ }
+
+ delete String.prototype.trim;
+
+ var isConfigurable = !String.prototype.hasOwnProperty("trim");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(String.prototype, "trim", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js
new file mode 100644
index 000000000..aa3177284
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js
+ * @description ES5 Attributes - all attributes in Date.now are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Date, "now");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Date.now;
+
+ try {
+ Date.now = "2010";
+
+ var isWritable = (Date.now === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Date) {
+ if (prop === "now") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Date.now;
+
+ var isConfigurable = !Date.hasOwnProperty("now");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Date, "now", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js
new file mode 100644
index 000000000..0932a3e27
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js
+ * @description ES5 Attributes - all attributes in Date.prototype.toISOString are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toISOString");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Date.prototype.toISOString;
+
+ try {
+ Date.prototype.toISOString = "2010";
+
+ var isWritable = (Date.prototype.toISOString === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Date.prototype) {
+ if (prop === "toISOString") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Date.prototype.toISOString;
+
+ var isConfigurable = !Date.prototype.hasOwnProperty("toISOString");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Date.prototype, "toISOString", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js
new file mode 100644
index 000000000..b36273b6f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js
+ * @description ES5 Attributes - all attributes in Date.prototype.toJSON are correct
+ */
+
+
+function testcase() {
+ var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toJSON");
+
+ var propertyAreCorrect = (desc.writable === true && desc.enumerable === false && desc.configurable === true);
+
+ var temp = Date.prototype.toJSON;
+
+ try {
+ Date.prototype.toJSON = "2010";
+
+ var isWritable = (Date.prototype.toJSON === "2010");
+
+ var isEnumerable = false;
+
+ for (var prop in Date.prototype) {
+ if (prop === "toJSON") {
+ isEnumerable = true;
+ }
+ }
+
+ delete Date.prototype.toJSON;
+
+ var isConfigurable = !Date.prototype.hasOwnProperty("toJSON");
+
+ return propertyAreCorrect && isWritable && !isEnumerable && isConfigurable;
+ } finally {
+ Object.defineProperty(Date.prototype, "toJSON", {
+ value: temp,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js
new file mode 100644
index 000000000..ae30e588e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js
@@ -0,0 +1,34 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js
+ * @description Globally declared variable should take precedence over Object.prototype property of the same name
+ */
+
+Object.defineProperty(Object.prototype,
+ "prop",
+ { value: 1001, writable: false, enumerable: false, configurable: false}
+ );
+var prop = 1002;
+
+if (! (this.hasOwnProperty("prop") && prop === 1002)) {
+ throw "this.prop should take precedence over Object.prototype.prop";
+}
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js
new file mode 100644
index 000000000..4be18fa1c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js
+ * @description Object.defineProperty - both desc.value and name.value are NaN (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { value: NaN });
+
+ Object.defineProperty(obj, "foo", { value: NaN });
+
+ if (!isNaN(obj.foo)) {
+ return false;
+ }
+
+ obj.foo = "verifyValue";
+ if (obj.foo === "verifyValue") {
+ return false;
+ }
+
+ for (var prop in obj) {
+ if (obj.hasOwnProperty(prop) && prop === "foo") {
+ return false;
+ }
+ }
+
+ delete obj.foo;
+ if (!obj.hasOwnProperty("foo")) {
+ return false;
+ }
+
+ return true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js
new file mode 100644
index 000000000..93eaf56de
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js
+ * @description Object.defineProperty - desc.value = +0 and name.value = -0 (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { value: -0 });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: +0 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js
new file mode 100644
index 000000000..18a3e191d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js
+ * @description Object.defineProperty - desc.value = -0 and name.value = +0 (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { value: +0 });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: -0 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js
new file mode 100644
index 000000000..08b708287
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js
+ * @description Object.defineProperty - desc.value and name.value are two numbers with different values (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = 101; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", { value: 102 });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 102, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js
new file mode 100644
index 000000000..934224795
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js
+ * @description Object.defineProperty - both desc.value and name.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { value: "abcd" });
+
+ Object.defineProperty(obj, "foo", { value: "abcd" });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js
new file mode 100644
index 000000000..e3778394e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js
+ * @description Object.defineProperty - desc.value and name.value are two strings with different values (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = "abcd"; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", { value: "fghj" });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "fghj", true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js
new file mode 100644
index 000000000..fc89eea92
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js
+ * @description Object.defineProperty - both desc.value and name.value are boolean values with the same value (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { value: true });
+
+ Object.defineProperty(obj, "foo", { value: true });
+ return dataPropertyAttributesAreCorrect(obj, "foo", true, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js
new file mode 100644
index 000000000..fc4b55efd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. Step 7a of [[DefineOwnProperty]] rejects if
+ * current.[[Configurable]] is false and desc.[[Configurable]] is true.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js
+ * @description Object.defineProperty throws TypeError when changing [[Configurable]] from false to true
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create a data valued property; all other attributes default to false.
+ var d1 = { value: 101, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ var desc = { value: 101, configurable: true };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.value === 101 &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js
new file mode 100644
index 000000000..4295f0aa0
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js
+ * @description Object.defineProperty - desc.value and name.value are two boolean values with different values (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ obj.foo = true; // default value of attributes: writable: true, configurable: true, enumerable: true
+
+ Object.defineProperty(obj, "foo", { value: false });
+ return dataPropertyAttributesAreCorrect(obj, "foo", false, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js
new file mode 100644
index 000000000..7adce621d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js
+ * @description Object.defineProperty - both desc.value and name.value are Ojbects which refer to the same Object (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+
+ Object.defineProperty(obj, "foo", { value: obj1 });
+
+ Object.defineProperty(obj, "foo", { value: obj1 });
+ return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js
new file mode 100644
index 000000000..f5056b013
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js
+ * @description Object.defineProperty - desc.value and name.value are two Ojbects which refer to the different objects (8.12.9 step 6)
+ */
+
+
+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.defineProperty(obj, "foo", { value: obj2 });
+ return dataPropertyAttributesAreCorrect(obj, "foo", obj2, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js
new file mode 100644
index 000000000..99864a053
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js
+ * @description Object.defineProperty - both desc.writable and name.writable are boolean values with the same value (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { writable: false});
+
+ Object.defineProperty(obj, "foo", { writable: false });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js
new file mode 100644
index 000000000..145a24e3a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js
+ * @description Object.defineProperty - desc.writable and name.writable are two boolean values with different values (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { writable: false, configurable: true });
+
+ Object.defineProperty(obj, "foo", { writable: true });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js
new file mode 100644
index 000000000..b920c5540
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js
+ * @description Object.defineProperty - both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 10;
+ }
+ function setFunc(value) {
+ obj.helpVerifySet = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc
+ });
+
+ Object.defineProperty(obj, "foo", { get: getFunc });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "helpVerifySet", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js
new file mode 100644
index 000000000..a46c19be9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js
+ * @description Object.defineProperty - desc.[[Get]] and name.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc1() {
+ return 10;
+ }
+ function setFunc1(value) {
+ obj.helpVerifySet = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc1,
+ set: setFunc1,
+ configurable: true
+ });
+
+ function getFunc2() {
+ return 20;
+ }
+
+ Object.defineProperty(obj, "foo", { get: getFunc2 });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc2, setFunc1, "helpVerifySet", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js
new file mode 100644
index 000000000..23b06a4a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js
+ * @description Object.defineProperty - both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", { set: setFunc });
+
+ Object.defineProperty(obj, "foo", { set: setFunc });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js
new file mode 100644
index 000000000..0a19f1c82
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js
+ * @description Object.defineProperty - desc.[[Set]] and name.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function setFunc1() { }
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc1,
+ configurable: true
+ });
+
+ function setFunc2(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", { set: setFunc2 });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc2, "setVerifyHelpProp", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js
new file mode 100644
index 000000000..46e81e624
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js
+ * @description Object.defineProperty - both desc.enumerable and name.enumerable are boolean values with the same value (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { enumerable: false });
+
+ Object.defineProperty(obj, "foo", { enumerable: false });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js
new file mode 100644
index 000000000..fd2e5a21b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.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.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. Step 7b of [[DefineOwnProperty]] rejects if
+ * current.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations
+ * of each other.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js
+ * @description Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable data properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create a data valued property; all other attributes default to false.
+ var d1 = { value: 101, enumerable: false, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, setting enumerable to true should fail, since [[Configurable]]
+ // on the original property will be false.
+ var desc = { value: 101, enumerable: true };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.value === 101 &&
+ d2.enumerable === false &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js
new file mode 100644
index 000000000..0f3ac769d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js
+ * @description Object.defineProperty - desc.enumerable and name.enumerable are boolean negation of each other (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { enumerable: false, configurable: true });
+
+ Object.defineProperty(obj, "foo", { enumerable: true });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js
new file mode 100644
index 000000000..f704a31bb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js
+ * @description Object.defineProperty - both desc.configurable and name.configurable are booleans with the same value (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { configurable: false });
+
+ Object.defineProperty(obj, "foo", { configurable: false });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js
new file mode 100644
index 000000000..54311bc40
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is a data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js
new file mode 100644
index 000000000..868571f9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: true,
+ configurable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js
new file mode 100644
index 000000000..f45430e44
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js
+ * @description Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: false,
+ configurable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js
new file mode 100644
index 000000000..6a3409c5f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js
+ * @description Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: true
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js
new file mode 100644
index 000000000..7658b17d4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js
new file mode 100644
index 000000000..eafe33fcb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: false,
+ configurable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js
new file mode 100644
index 000000000..3275d3483
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js
new file mode 100644
index 000000000..2d6f717b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: true,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js
new file mode 100644
index 000000000..b1faa6996
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js
+ * @description Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: false,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js
new file mode 100644
index 000000000..2a6bd91b2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "0", {
+ value: 1001,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js
new file mode 100644
index 000000000..959dda829
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an index accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js
new file mode 100644
index 000000000..0bb878439
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is a data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: false,
+ configurable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js
new file mode 100644
index 000000000..fd4a4a93a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an index accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: false,
+ configurable: true
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js
new file mode 100644
index 000000000..62a5c55ff
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an index accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ configurable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js
new file mode 100644
index 000000000..acf48269c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an index accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: true,
+ configurable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js
new file mode 100644
index 000000000..38e52cb59
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js
+ * @description Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: false,
+ configurable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js
new file mode 100644
index 000000000..c6fa069d7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js
+ * @description Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "0", {
+ get: get_func,
+ set: set_func,
+ enumerable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "0", {
+ enumerable: true
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js
new file mode 100644
index 000000000..93ae61e39
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js
new file mode 100644
index 000000000..db5ceb3fc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: true,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js
new file mode 100644
index 000000000..531ed7e21
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js
+ * @description Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is a data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 1001,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: false,
+ configurable: false
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js
new file mode 100644
index 000000000..c049a7d53
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is a data property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 1001,
+ writable: true,
+ enumerable: false,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: true
+ });
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, true, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js
new file mode 100644
index 000000000..cb787ab21
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js
new file mode 100644
index 000000000..97fdd5320
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js
+ * @description Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ enumerable: false,
+ configurable: true
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", false, true);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js
new file mode 100644
index 000000000..59391286d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js
+ * @description Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an accessor property (8.12.9 step 8)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+ obj.verifySetFunction = "data";
+ var get_func = function () {
+ return obj.verifySetFunction;
+ };
+ var set_func = function (value) {
+ obj.verifySetFunction = value;
+ };
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "foo", {
+ configurable: false
+ });
+
+ return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", true, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js
new file mode 100644
index 000000000..caf0a0d03
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js
+ * @description Object.defineProperty - desc.configurable and name.configurable are boolean negation of each other (8.12.9 step 6)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", { configurable: true });
+
+ Object.defineProperty(obj, "foo", { configurable: false });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js
new file mode 100644
index 000000000..33df1e337
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js
+ * @description Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = undefined and desc.value = undefined (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: undefined,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "foo", {
+ value: undefined,
+ writable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js
new file mode 100644
index 000000000..eb1348887
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js
+ * @description Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = null and desc.value = null (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: null,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "foo", {
+ value: null,
+ writable: false,
+ configurable: false
+ });
+ return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js
new file mode 100644
index 000000000..b2e857899
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js
+ * @description Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = NaN and desc.value = NaN (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: NaN,
+ writable: false,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "foo", {
+ value: NaN,
+ writable: false,
+ configurable: false
+ });
+
+ if (!isNaN(obj.foo)) {
+ return false;
+ }
+
+ obj.foo = "verifyValue";
+ if (obj.foo === "verifyValue") {
+ return false;
+ }
+
+ for (var prop in obj) {
+ if (obj.hasOwnProperty(prop) && prop === "foo") {
+ return false;
+ }
+ }
+
+ delete obj.foo;
+ if (!obj.hasOwnProperty("foo")) {
+ return false;
+ }
+
+ return true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js
new file mode 100644
index 000000000..4680a23a6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = +0 and name.value = -0 (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: -0,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: +0 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js
new file mode 100644
index 000000000..4dbc26046
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = -0 and name.value = +0 (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: +0,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: -0 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js
new file mode 100644
index 000000000..a96ba943a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js
+ * @description Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with the same value (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 100,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: 100 });
+ return dataPropertyAttributesAreCorrect(obj, "foo", 100, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js
new file mode 100644
index 000000000..8a3e72035
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with different values (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: 20 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js
new file mode 100644
index 000000000..f7a0653c8
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method
+ * of O to define the property. Step 7b of [[DefineOwnProperty]] rejects if
+ * current.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations
+ * of each other.
+ *
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js
+ * @description Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable data properties
+ */
+
+
+function testcase() {
+ var o = {};
+
+ // create a data valued property with [[Enumerable]] explicitly set to true;
+ // all other attributes default to false.
+ var d1 = { value: 101, enumerable: true, configurable: false };
+ Object.defineProperty(o, "foo", d1);
+
+ // now, setting enumerable to false should fail, since [[Configurable]]
+ // on the original property will be false.
+ var desc = { value: 101, enumerable: false };
+
+ try {
+ Object.defineProperty(o, "foo", desc);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ // the property should remain unchanged.
+ var d2 = Object.getOwnPropertyDescriptor(o, "foo");
+ if (d2.value === 101 &&
+ d2.enumerable === true &&
+ d2.configurable === false) {
+ return true;
+ }
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js
new file mode 100644
index 000000000..bf2d9ba62
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js
+ * @description Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with the same value (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: "abcd",
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: "abcd" });
+ return dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js
new file mode 100644
index 000000000..4761123d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with different values (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: "abcd",
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: "fghj" });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js
new file mode 100644
index 000000000..07dc350f6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js
+ * @description Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with the same value (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: false,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: false });
+ return dataPropertyAttributesAreCorrect(obj, "foo", false, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js
new file mode 100644
index 000000000..5d770e077
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with different values (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: false,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: true });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", false, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js
new file mode 100644
index 000000000..5a5a7c415
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js
+ * @description Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+
+ Object.defineProperty(obj, "foo", {
+ value: obj1,
+ writable: false,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { value: obj1 });
+ return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js
new file mode 100644
index 000000000..77a42490d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-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.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two objects which refer to the different objects (8.12.9 step 10.a.ii.1)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ var obj1 = { length: 10 };
+
+ Object.defineProperty(obj, "foo", {
+ value: obj1,
+ writable: false,
+ configurable: false
+ });
+
+ var obj2 = { length: 20 };
+
+ try {
+ Object.defineProperty(obj, "foo", { value: obj2 });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js
new file mode 100644
index 000000000..fd737488f
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js
+ * @description Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { set: setFunc });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc, "setVerifyHelpProp", false, false);
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js
new file mode 100644
index 000000000..50f41b25a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.[[Set]] is undefined, desc.[[Set]] refers to an object (8.12.9 step 11.a.i)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return "property";
+ }
+
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "property", {
+ get: getFunc,
+ set: function () { },
+ configurable: false
+ });
+
+ return false;
+ } catch (e) {
+ return e instanceof TypeError &&
+ accessorPropertyAttributesAreCorrect(obj, "property", getFunc, undefined, undefined, false, false);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js
new file mode 100644
index 000000000..566ce0daf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js
+ * @description Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function getFunc() {
+ return 10;
+ }
+ function setFunc(value) {
+ obj.verifyGetHelpMethod = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc,
+ configurable: false
+ });
+
+ try {
+ Object.defineProperty(obj, "foo", { get: getFunc });
+ return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "verifyGetHelpMethod", false, false);
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js
new file mode 100644
index 000000000..407603f66
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js
+ * @description Object.defineProperty will throw TypeError when name.configurable = false, name.[[Get]] is undefined, desc.[[Get]] refers to an object (8.12.9 step 11.a.ii)
+ */
+
+
+function testcase() {
+
+ var obj = {};
+
+ function setFunc(value) {
+ obj.setVerifyHelpProp = value;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ set: setFunc,
+ configurable: false
+ });
+
+ function getFunc() {
+ return 10;
+ }
+
+ try {
+ Object.defineProperty(obj, "foo", {
+ get: getFunc,
+ set: setFunc
+ });
+ return false;
+ } catch (e) {
+ return e instanceof TypeError && accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc, "setVerifyHelpProp", false, false);
+ }
+ }
+runTestCase(testcase);