summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Bargull <andre.bargull@gmail.com>2015-08-11 17:43:48 +0200
committerAndré Bargull <andre.bargull@gmail.com>2015-08-11 17:43:48 +0200
commitf3e919209c6011365e662633962699285254ae11 (patch)
treee90f712306e93be7e3ad1d3da4b6ead9152e50ed
parent1f97345668236508d8148f28fece4f4a190a6543 (diff)
downloadqtdeclarative-testsuites-f3e919209c6011365e662633962699285254ae11.tar.gz
Replace runTestCase with assert.throws [test/built-ins/Object]
-rw-r--r--test/built-ins/Object/create/15.2.3.5-1-1.js11
-rw-r--r--test/built-ins/Object/create/15.2.3.5-1-3.js11
-rw-r--r--test/built-ins/Object/create/15.2.3.5-1-4.js11
-rw-r--r--test/built-ins/Object/create/15.2.3.5-1.js14
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-258.js13
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-259.js13
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-26.js13
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-260.js13
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-261.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-262.js13
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-27.js14
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-293.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-294.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-295.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-296.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-297.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-3.js11
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-300.js15
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-301.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-302.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-303.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-304.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-40.js15
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-41.js11
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-42.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-43.js12
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-44.js11
-rw-r--r--test/built-ins/Object/create/15.2.3.5-4-45.js11
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-1-1.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-1-2.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-1-3.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-1-4.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-1.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-2-1.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-2-2.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js18
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js15
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js15
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js15
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js16
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js15
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js15
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js16
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js18
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js19
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js19
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js14
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js18
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js19
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js18
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js18
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js12
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js13
-rw-r--r--test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-1-1.js11
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-1-2.js11
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-1-3.js11
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-1-4.js11
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-1.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-2-47.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-1.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-10.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-11.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-12.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-13.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-14.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-15.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-16.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-17.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-18.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-19.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-2.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-3.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-4.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-5.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-6.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-7.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-8.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-3-9.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-1.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-10.js21
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-11.js21
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-12.js22
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-120.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-121.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-122.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-123.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-125.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-13.js19
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-133.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-134.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-135.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-136.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-138.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-139.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-140.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-141.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-145.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-150.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-152.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-153.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-156.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-157.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-16.js23
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-162.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-164.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-168.js14
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-169.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-17.js23
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-170.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-174.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-18.js21
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-188.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-189.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-198.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-20.js21
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-22.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-24.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-25.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-26.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-28.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-29.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-30.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-31.js12
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-33.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-337.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-338.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-339.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-34.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-35.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-351.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-352.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-353.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-36.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-364.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-365.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-366.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-367.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-37.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-378.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-379.js16
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-380.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-381.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-39.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-40.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-42.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-43.js13
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-435.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-436.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-437.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-439.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-453.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-454.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-455.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-457.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-471.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-472.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-473.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-475.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-489.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-490.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-491.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-493.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-507.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-508.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-509.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-511.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-525.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-526.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-527.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-529.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-543.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-544.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-545.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-547.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-561.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-562.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-563.js17
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-565.js15
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-7.js19
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-8.js21
-rw-r--r--test/built-ins/Object/defineProperty/15.2.3.6-4-9.js21
-rw-r--r--test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js11
-rw-r--r--test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js11
-rw-r--r--test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js14
-rw-r--r--test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js12
-rw-r--r--test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js12
-rw-r--r--test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js15
-rw-r--r--test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js12
-rw-r--r--test/built-ins/Object/keys/15.2.3.14-1-4.js14
-rw-r--r--test/built-ins/Object/keys/15.2.3.14-1-5.js14
-rw-r--r--test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js15
238 files changed, 805 insertions, 2616 deletions
diff --git a/test/built-ins/Object/create/15.2.3.5-1-1.js b/test/built-ins/Object/create/15.2.3.5-1-1.js
index c5e0b426d..dfec56794 100644
--- a/test/built-ins/Object/create/15.2.3.5-1-1.js
+++ b/test/built-ins/Object/create/15.2.3.5-1-1.js
@@ -4,16 +4,9 @@
/*---
es5id: 15.2.3.5-1-1
description: Object.create throws TypeError if 'O' is undefined
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create(undefined);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-1-3.js b/test/built-ins/Object/create/15.2.3.5-1-3.js
index 28933d177..2a8aa4b63 100644
--- a/test/built-ins/Object/create/15.2.3.5-1-3.js
+++ b/test/built-ins/Object/create/15.2.3.5-1-3.js
@@ -4,16 +4,9 @@
/*---
es5id: 15.2.3.5-1-3
description: Object.create throws TypeError if 'O' is a boolean primitive
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create(true);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-1-4.js b/test/built-ins/Object/create/15.2.3.5-1-4.js
index 300289d4c..e33ef8ddb 100644
--- a/test/built-ins/Object/create/15.2.3.5-1-4.js
+++ b/test/built-ins/Object/create/15.2.3.5-1-4.js
@@ -4,16 +4,9 @@
/*---
es5id: 15.2.3.5-1-4
description: Object.create throws TypeError if 'O' is a number primitive
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create(2);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-1.js b/test/built-ins/Object/create/15.2.3.5-1.js
index 2624275e4..645c0c974 100644
--- a/test/built-ins/Object/create/15.2.3.5-1.js
+++ b/test/built-ins/Object/create/15.2.3.5-1.js
@@ -4,17 +4,9 @@
/*---
es5id: 15.2.3.5-1
description: Object.create throws TypeError if type of first param is not Object
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.create(0);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-258.js b/test/built-ins/Object/create/15.2.3.5-4-258.js
index 9d9132e5a..e20c4f14b 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-258.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-258.js
@@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-258
description: >
Object.create - 'get' property of one property in 'Properties' is
the primitive value null (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
get: null
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-259.js b/test/built-ins/Object/create/15.2.3.5-4-259.js
index 6a70c61dc..f4ae695fa 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-259.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-259.js
@@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-259
description: >
Object.create - 'get' property of one property in 'Properties' is
a boolean primitive (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
get: false
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-26.js b/test/built-ins/Object/create/15.2.3.5-4-26.js
index aecc5f594..90605aece 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-26.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-26.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.5-4-26
description: >
Object.create - TypeError is thrown when own enumerable accessor
property of 'Properties' without a get function (15.2.3.7 step 5.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var props = {};
Object.defineProperty(props, "prop", {
set: function () { },
enumerable: true
});
- try {
+assert.throws(TypeError, function() {
Object.create({}, props);
-
- return false;
- } catch (ex) {
- return ex instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-260.js b/test/built-ins/Object/create/15.2.3.5-4-260.js
index 58ea30579..031bdfd56 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-260.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-260.js
@@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-260
description: >
Object.create - 'get' property of one property in 'Properties' is
a number primitive (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
get: 123
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-261.js b/test/built-ins/Object/create/15.2.3.5-4-261.js
index 7b33457ef..8a7f3f955 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-261.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-261.js
@@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-261
description: >
Object.create - 'get' property of one property in 'Properties' is
a primitive string (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
get: "string"
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-262.js b/test/built-ins/Object/create/15.2.3.5-4-262.js
index 1758af3db..f02da1a38 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-262.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-262.js
@@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-262
description: >
Object.create - 'get' property of one property in 'Properties' is
an Array object (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
get: [1, 2, 3]
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-27.js b/test/built-ins/Object/create/15.2.3.5-4-27.js
index dba419000..913f3b4e1 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-27.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-27.js
@@ -8,11 +8,8 @@ description: >
without a get function that overrides an enumerable inherited
accessor property in 'Properties' is defined in 'obj' (15.2.3.7
step 5.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var proto = {};
Object.defineProperty(proto, "prop", {
get: function () {
@@ -29,13 +26,6 @@ function testcase() {
set: function () { },
enumerable: true
});
-
- try {
+assert.throws(TypeError, function() {
Object.create({}, child);
-
- return false;
- } catch (ex) {
- return ex instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-293.js b/test/built-ins/Object/create/15.2.3.5-4-293.js
index ee4f14993..b5141d316 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-293.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-293.js
@@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-293
description: >
Object.create - 'set' property of one property in 'Properties' is
a primitive value null (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: null
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-294.js b/test/built-ins/Object/create/15.2.3.5-4-294.js
index 6c9e8c333..0253d46f9 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-294.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-294.js
@@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-294
description: >
Object.create - 'set' property of one property in 'Properties' is
a primitive boolean value true (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: true
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-295.js b/test/built-ins/Object/create/15.2.3.5-4-295.js
index 4f5553910..db9776e03 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-295.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-295.js
@@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-295
description: >
Object.create - 'set' property of one property in 'Properties' is
a primitive number value (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: 123
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-296.js b/test/built-ins/Object/create/15.2.3.5-4-296.js
index 9ea966b79..9912d0806 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-296.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-296.js
@@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-296
description: >
Object.create - 'set' property of one property in 'Properties' is
a primitive string value (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: "abc"
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-297.js b/test/built-ins/Object/create/15.2.3.5-4-297.js
index f5e588386..0365a10f8 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-297.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-297.js
@@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-297
description: >
Object.create - 'set' property of one property in 'Properties' is
an Date object (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: new Date()
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-3.js b/test/built-ins/Object/create/15.2.3.5-4-3.js
index 836a621b9..5d998fb97 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-3.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-3.js
@@ -6,16 +6,9 @@ es5id: 15.2.3.5-4-3
description: >
Object.create throws TypeError if 'Properties' is null (15.2.3.7
step 2)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, null);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-300.js b/test/built-ins/Object/create/15.2.3.5-4-300.js
index eb7844fd3..d9557fc3d 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-300.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-300.js
@@ -6,23 +6,14 @@ es5id: 15.2.3.5-4-300
description: >
Object.create - 'set' property of one property in 'Properties' is
a host object that isn't callable (8.10.5 step 8.b)
-includes:
- - runTestCase.js
- - fnGlobalObject.js
+includes: [fnGlobalObject.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: fnGlobalObject()
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-301.js b/test/built-ins/Object/create/15.2.3.5-4-301.js
index c79244013..41acad4d2 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-301.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-301.js
@@ -7,22 +7,14 @@ description: >
Object.create - TypeError is thrown if both 'set' property and
'value' property of one property in 'Properties' are present
(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: function () { },
value: 100
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-302.js b/test/built-ins/Object/create/15.2.3.5-4-302.js
index 2df2e86b6..9d9b0dc59 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-302.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-302.js
@@ -7,22 +7,14 @@ description: >
Object.create - TypeError is thrown if both 'set' property and
'writable' property of one property in 'Properties' are present
(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
set: function () { },
writable: true
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-303.js b/test/built-ins/Object/create/15.2.3.5-4-303.js
index 3105350c1..459a8580e 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-303.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-303.js
@@ -7,22 +7,14 @@ description: >
Object.create - TypeError is thrown if both 'get' property and
'value' property of one property in 'Properties' are present
(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
get: function () { },
value: 100
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-304.js b/test/built-ins/Object/create/15.2.3.5-4-304.js
index 3618ff9d3..bae6d8dff 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-304.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-304.js
@@ -7,22 +7,14 @@ description: >
Object.create - TypeError is thrown if both 'get' property and
'writable' property of one property in 'Properties' are present
(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: {
get: function () { },
writable: true
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-40.js b/test/built-ins/Object/create/15.2.3.5-4-40.js
index 29bbe0a09..91c14b190 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-40.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-40.js
@@ -7,11 +7,8 @@ description: >
Object.create - ensure that if an exception is thrown it occurs in
the correct order relative to prior and subsequent side-effects
(15.2.3.7 step 5.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var newObj = {};
var props = {};
var i = 0;
@@ -34,12 +31,8 @@ function testcase() {
},
enumerable: true
});
-
- try {
+assert.throws(RangeError, function() {
newObj = Object.create({}, props);
- return false;
- } catch (e) {
- return (e instanceof RangeError) && !newObj.hasOwnProperty("prop1") && i === 2;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(newObj.hasOwnProperty("prop1"), false, 'newObj.hasOwnProperty("prop1")');
+assert.sameValue(i, 2, 'i');
diff --git a/test/built-ins/Object/create/15.2.3.5-4-41.js b/test/built-ins/Object/create/15.2.3.5-4-41.js
index d5e2421d3..d74dd58cd 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-41.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-41.js
@@ -6,18 +6,11 @@ es5id: 15.2.3.5-4-41
description: >
Object.create - value of one property in 'Properties' is undefined
(8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: undefined
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-42.js b/test/built-ins/Object/create/15.2.3.5-4-42.js
index d52b5a303..424a2be66 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-42.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-42.js
@@ -6,19 +6,11 @@ es5id: 15.2.3.5-4-42
description: >
Object.create - value of one property in 'Properties' is null
(8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: null
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-43.js b/test/built-ins/Object/create/15.2.3.5-4-43.js
index a01187f38..f3ca54ea4 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-43.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-43.js
@@ -6,19 +6,11 @@ es5id: 15.2.3.5-4-43
description: >
Object.create - value of one property in 'Properties' is false
(8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: false
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-44.js b/test/built-ins/Object/create/15.2.3.5-4-44.js
index 362e72691..18073ec96 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-44.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-44.js
@@ -6,18 +6,11 @@ es5id: 15.2.3.5-4-44
description: >
Object.create - value of one property in 'Properties' is a number
primitive (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: 12
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/create/15.2.3.5-4-45.js b/test/built-ins/Object/create/15.2.3.5-4-45.js
index 0f07634c3..653c33ccb 100644
--- a/test/built-ins/Object/create/15.2.3.5-4-45.js
+++ b/test/built-ins/Object/create/15.2.3.5-4-45.js
@@ -6,18 +6,11 @@ es5id: 15.2.3.5-4-45
description: >
Object.create - value of one property in 'Properties' is a string
(8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.create({}, {
prop: "abc"
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js
index d94b31b67..6bf9439ef 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js
@@ -4,16 +4,8 @@
/*---
es5id: 15.2.3.7-1-1
description: Object.defineProperties throws TypeError if 'O' is undefined
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(undefined, {});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js
index e0cc78fc9..b4eae1229 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js
@@ -4,16 +4,8 @@
/*---
es5id: 15.2.3.7-1-2
description: Object.defineProperties throws TypeError if 'O' is null
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(null, {});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js
index eeb85855e..0974b1a06 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js
@@ -4,16 +4,8 @@
/*---
es5id: 15.2.3.7-1-3
description: Object.defineProperties throws TypeError if 'O' is a boolean
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(true, {});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js
index 597c32d7a..673f98608 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js
@@ -4,16 +4,8 @@
/*---
es5id: 15.2.3.7-1-4
description: Object.defineProperties throws TypeError if 'O' is a string
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties("abc", {});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-1.js
index 12c2752a5..c6b27773c 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-1.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-1.js
@@ -6,17 +6,8 @@ es5id: 15.2.3.7-1
description: >
Object.defineProperties throws TypeError if type of first param is
not Object
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(0, {});
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js
index da621aed4..4f8ca8d07 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js
@@ -4,16 +4,8 @@
/*---
es5id: 15.2.3.7-2-1
description: Object.defineProperties throws TypeError if 'Properties' is null
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties({}, null);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js b/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js
index 58d31b83c..5366c8b9a 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js
@@ -6,16 +6,8 @@ es5id: 15.2.3.7-2-2
description: >
Object.defineProperties throws TypeError if 'Properties' is
undefined
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties({}, undefined);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js
index 9b10cce72..7eaf6bd16 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js
@@ -4,20 +4,12 @@
/*---
es5id: 15.2.3.7-5-b-1
description: Object.defineProperties - 'descObj' is undefined (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: undefined
});
- return false;
- } catch (e) {
- return e instanceof TypeError && !obj.hasOwnProperty("prop");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js
index 768a594be..c7fa6e5ea 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js
@@ -4,20 +4,12 @@
/*---
es5id: 15.2.3.7-5-b-2
description: Object.defineProperties - 'descObj' is null (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: null
});
- return false;
- } catch (e) {
- return e instanceof TypeError && !obj.hasOwnProperty("prop"); ;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js
index 3cef301fb..391538ddb 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-218
description: >
Object.defineProperties - value of 'get' property of 'descObj' is
primitive values( value is null) (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
property: {
get: null
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js
index e04e7147e..adb34766f 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-219
description: >
Object.defineProperties - value of 'get' property of 'descObj' is
primitive values( value is boolean) (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
property: {
get: false
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js
index ffce3edc5..d684f624d 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-220
description: >
Object.defineProperties - value of 'get' property of 'descObj' is
primitive values( value is number) (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
property: {
get: 123
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js
index ea60b42e6..982cddb9b 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-221
description: >
Object.defineProperties - value of 'get' property of 'descObj' is
primitive values( value is string) (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
property: {
get: "string"
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js
index 3e5cfc2e4..57e21ef35 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-222
description: >
Object.defineProperties - value of 'get' property of 'descObj' is
applied to Array object (8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
property: {
get: []
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js
index 1667d76f5..e35a948b5 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-253
description: >
Object.defineProperties - value of 'set' property of 'descObj' is
primitive values null (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
set: null
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js
index 4dcec66e6..11d390a2b 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-254
description: >
Object.defineProperties - value of 'set' property of 'descObj' is
primitive values boolean (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
set: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js
index f15894290..acbcc7ed2 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-255
description: >
Object.defineProperties - value of 'set' property of 'descObj' is
primitive values number (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
set: 100
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js
index 762d1ba4c..85e6c6b88 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-256
description: >
Object.defineProperties - value of 'set' property of 'descObj' is
primitive values string (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
set: "abcdef"
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js
index 22455761b..848af0730 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js
@@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-257
description: >
Object.defineProperties - value of 'set' property of 'descObj' is
an interesting object other than a function (8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
set: []
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js
index fc31f20a3..f0fed05eb 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js
@@ -7,24 +7,15 @@ description: >
Object.defineProperties - TypeError is thrown if both 'set'
property and 'value' property of 'descObj' are present (8.10.5
step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var setFun = function () {};
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 12,
set: setFun
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js
index 247f747ed..5587e1765 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js
@@ -7,24 +7,15 @@ description: >
Object.defineProperties - TypeError is thrown if both 'set'
property and 'writable' property of 'descObj' are present (8.10.5
step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var setFun = function () { };
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
writable: true,
set: setFun
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js
index 9bf35d85e..1587c5de2 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js
@@ -7,24 +7,15 @@ description: >
Object.defineProperties - TypeError is thrown if both 'get'
property and 'value' property of 'descObj' are present (8.10.5
step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var getFun = function () {};
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 12,
get: getFun
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js
index 23be87b18..945e4a276 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js
@@ -7,25 +7,16 @@ description: >
Object.defineProperties - TypeError is thrown if both 'get'
property and 'writable' property of 'descObj' are present (8.10.5
step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var getFun = function () {};
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
"prop": {
writable: true,
get: getFun
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js
index 8a8995e29..cba662cf5 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js
@@ -4,20 +4,12 @@
/*---
es5id: 15.2.3.7-5-b-3
description: Object.defineProperties - 'descObj' is a boolean (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && !obj.hasOwnProperty("prop");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js
index e61abc465..ee430f83c 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js
@@ -4,20 +4,12 @@
/*---
es5id: 15.2.3.7-5-b-4
description: Object.defineProperties - 'descObj' is a number (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: 12
});
- return false;
- } catch (e) {
- return e instanceof TypeError && !obj.hasOwnProperty("prop");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js
index c996b48e1..27a60e51d 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js
@@ -4,20 +4,12 @@
/*---
es5id: 15.2.3.7-5-b-5
description: Object.defineProperties - 'descObj' is a string (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: "abc"
});
- return false;
- } catch (e) {
- return e instanceof TypeError && !obj.hasOwnProperty("prop");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js
index 8532a067f..e282f5607 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js
@@ -6,26 +6,18 @@ es5id: 15.2.3.7-6-a-1
description: >
Object.defineProperties - 'P' is own existing data property
(8.12.9 step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
value: 11,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 12,
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js
index 5ec043573..ed64214cf 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js
@@ -7,10 +7,8 @@ description: >
Object.defineProperties - 'P' is own accessor property without a
get function that overrides an inherited accessor property (8.12.9
step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "prop", {
get: function () {
@@ -27,17 +25,11 @@ function testcase() {
set: function () { },
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 12,
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js
index 3ef0d6ad4..e22b9a9ea 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js
@@ -6,27 +6,21 @@ es5id: 15.2.3.7-6-a-112
description: >
Object.defineProperties - 'O' is an Array, test the length
property of 'O' is own data property (15.4.5.1 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [0, 1];
Object.defineProperty(arr, "1", {
value: 1,
configurable: false
});
- try {
-
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: { value: 1 }
});
- return false;
- } catch (ex) {
+});
var desc = Object.getOwnPropertyDescriptor(arr, "length");
- return ex instanceof TypeError && desc.value === 2 &&
- desc.writable && !desc.enumerable && !desc.configurable;
- }
- }
-runTestCase(testcase);
+assert.sameValue(desc.value, 2, 'desc.value');
+assert(desc.writable, 'desc.writable !== true');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js
index 8a58af647..4c300f6d7 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js
@@ -8,21 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: { configurable: true }
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js
index 1ba128bce..ab0fecce7 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js
@@ -8,21 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: { enumerable: true }
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js
index 7dc734ad8..95ab99ed5 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js
@@ -8,14 +8,10 @@ description: >
property of 'O', the [[Value]] field of 'desc' is absent, test
TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1
step 3.a.i)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: {
get: function () {
@@ -23,10 +19,5 @@ function testcase() {
}
}
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js
index 14cbb248d..e249d698a 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js
@@ -8,25 +8,15 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
Object.defineProperty(arr, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: { writable: true }
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js
index 3a03bf266..2c62ae0e9 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js
@@ -7,21 +7,12 @@ description: >
Object.defineProperties - 'O' is an Array, 'P' is the length
property of 'O', test RangeError is thrown when setting the
[[Value]] field of 'desc' to undefined (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: { value: undefined }
});
-
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js
index 5277ce5d9..e432de73f 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is negative
number (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: -9
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js
index fc090de0e..ff246ba32 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is +Infinity
(15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: +Infinity
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js
index e312ce8f9..ada55d4a5 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is -Infinity
(15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: -Infinity
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js
index a8670853a..16015d3bb 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js
@@ -7,23 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is NaN
(15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: NaN
}
});
-
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js
index 04ccb58ed..c9b787f8d 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is a string
containing a negative number (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: "-42"
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js
index 1f172e3a1..5f9b707fd 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is a string
containing a decimal number (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: "200.59"
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js
index 3c9d49747..1613213e8 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is a string
containing +Infinity (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: "+Infinity"
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js
index e1d0b07ca..ebc116b2d 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test the [[Value]] field of 'desc' is a string
containing -Infinity (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: "-Infinity"
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js
index 58d5cb72c..ae2debbf9 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'P' is the length
property of 'O', test the [[Value]] field of 'desc' is a string
which doesn't convert to a number (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: "two"
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js
index c257c7b6d..96214d41d 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js
@@ -8,16 +8,12 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
var toStringAccessed = false;
var valueOfAccessed = false;
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: {
value: {
@@ -33,10 +29,6 @@ function testcase() {
}
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError) && toStringAccessed && valueOfAccessed;
- }
- }
-runTestCase(testcase);
+});
+assert(toStringAccessed, 'toStringAccessed !== true');
+assert(valueOfAccessed, 'valueOfAccessed !== true');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js
index abb7e0c0e..d70d2214f 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js
@@ -7,23 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test RangeError is thrown when the [[Value]]
field of 'desc' is positive non-integer values (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: 123.5
}
});
-
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js
index 63597a017..c509c5305 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js
@@ -7,22 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test RangeError is thrown when the [[Value]]
field of 'desc' is negative non-integer values (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: -4294967294.5
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js
index 3d8b21eea..bf9c3b8d1 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js
@@ -7,21 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test RangeError is thrown when the [[Value]]
field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: 4294967296
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js
index c44361385..fddc31217 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js
@@ -7,21 +7,14 @@ description: >
Object.defineProperties - 'O' is an Array, 'name' is the length
property of 'O', test RangeError is thrown when the [[Value]]
field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
- try {
+assert.throws(RangeError, function() {
Object.defineProperties(arr, {
length: {
value: 4294967297
}
});
- return false;
- } catch (e) {
- return e instanceof RangeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js
index 4c94b0a64..c98990822 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js
@@ -8,27 +8,18 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [];
Object.defineProperty(arr, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: {
value: 12
}
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError && arr.length === 0;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 0, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js
index 968810c45..a3eb0b4b6 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js
@@ -9,26 +9,20 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [0, 1];
Object.defineProperty(arr, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: {
value: 0
}
});
- return false;
- } catch (e) {
- return e instanceof TypeError && arr.length === 2 && arr[0] === 0 && arr[1] === 1;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 2, 'arr.length');
+assert.sameValue(arr[0], 0, 'arr[0]');
+assert.sameValue(arr[1], 1, 'arr[1]');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js
index b1a2533d3..6d83613b9 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js
@@ -8,11 +8,8 @@ description: >
property of 'O', the [[Value]] field of 'desc' is less than value
of the length property, test the length property is decreased by
1 (15.4.5.1 step 3.l.i)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [0, 1, 2];
Object.defineProperty(arr, "1", {
@@ -22,17 +19,14 @@ function testcase() {
Object.defineProperty(arr, "2", {
configurable: true
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: {
value: 1
}
});
- return false;
- } catch (e) {
- return e instanceof TypeError && arr.length === 2 &&
- !arr.hasOwnProperty("2") && arr[0] === 0 && arr[1] === 1;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 2, 'arr.length');
+assert.sameValue(arr.hasOwnProperty("2"), false, 'arr.hasOwnProperty("2")');
+assert.sameValue(arr[0], 0, 'arr[0]');
+assert.sameValue(arr[1], 1, 'arr[1]');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js
index 4cf79075c..a6bd8e38c 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js
@@ -9,14 +9,10 @@ description: >
of the length property, test the [[Configurable]] attribute of
own data property with large index named in 'O' can stop deleting
index named properties (15.4.5.1 step 3.l.ii)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [0, 1];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arr, "1", {
configurable: false
});
@@ -26,11 +22,8 @@ function testcase() {
value: 1
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError) && arr.length === 2 &&
- arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 2, 'arr.length');
+assert(arr.hasOwnProperty("1"), 'arr.hasOwnProperty("1") !== true');
+assert.sameValue(arr[0], 0, 'arr[0]');
+assert.sameValue(arr[1], 1, 'arr[1]');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js
index 78ed126d7..bb5450464 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js
@@ -9,14 +9,10 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [0, 1];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arr, "1", {
get: function () {
return 1;
@@ -29,11 +25,8 @@ function testcase() {
value: 1
}
});
-
- return false;
- } catch (e) {
- return (e instanceof TypeError) && arr.length === 2 &&
- arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 2, 'arr.length');
+assert(arr.hasOwnProperty("1"), 'arr.hasOwnProperty("1") !== true');
+assert.sameValue(arr[0], 0, 'arr[0]');
+assert.sameValue(arr[1], 1, 'arr[1]');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js
index b976470a7..c4a266ad4 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js
@@ -9,26 +9,18 @@ description: >
of the length property, test value of the length property is set
to the last non-configurable index named property of 'O' plus 1
(15.4.5.1 step 3.l.iii.1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arr = [0, 1, 2, 3];
Object.defineProperty(arr, "1", {
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
length: {
value: 1
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError) && (arr.length === 2);
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.length, 2, 'arr.length');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js
index ec10693e0..3fe016ff4 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js
@@ -8,27 +8,21 @@ description: >
'P' is an array index named property,[[Writable]] attribute of the
length property in 'O' is false, value of 'P' is equal to value of
the length property in 'O' (15.4.5.1 step 4.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arr = [1, 2, 3];
Object.defineProperty(arr, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
"3": {
value: "abc"
}
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError && arr[0] === 1 &&
- arr[1] === 2 && arr[2] === 3 && !arr.hasOwnProperty("3");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr[0], 1, 'arr[0]');
+assert.sameValue(arr[1], 2, 'arr[1]');
+assert.sameValue(arr[2], 3, 'arr[2]');
+assert.sameValue(arr.hasOwnProperty("3"), false, 'arr.hasOwnProperty("3")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js
index 293ebe520..3698753c5 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js
@@ -8,27 +8,22 @@ description: >
'P' is an array index named property,[[Writable]] attribute of the
length property in 'O' is false, value of 'P' is bigger than value
of the length property in 'O' (15.4.5.1 step 4.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arr = [1, 2, 3];
Object.defineProperty(arr, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
"4": {
value: "abc"
}
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError && arr[0] === 1 && arr[1] === 2 &&
- arr[2] === 3 && !arr.hasOwnProperty("3") && !arr.hasOwnProperty("4");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr[0], 1, 'arr[0]');
+assert.sameValue(arr[1], 2, 'arr[1]');
+assert.sameValue(arr[2], 3, 'arr[2]');
+assert.sameValue(arr.hasOwnProperty("3"), false, 'arr.hasOwnProperty("3")');
+assert.sameValue(arr.hasOwnProperty("4"), false, 'arr.hasOwnProperty("4")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js
index 78f495b7d..e5f5943f6 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js
@@ -6,26 +6,19 @@ es5id: 15.2.3.7-6-a-186
description: >
Object.defineProperties - 'O' is an Array, 'P' is an array index
named property, 'P' is own data property (15.4.5.1 step 4.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arr = [];
Object.defineProperty(arr, 0, {
value: "ownDataProperty",
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
"0": {
value: "abc",
configurable: true
}
});
- return false;
- } catch (e) {
- return e instanceof TypeError && arr[0] === "ownDataProperty";
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr[0], "ownDataProperty", 'arr[0]');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js
index 936a9f811..7ecdc01b2 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-190
description: >
Object.defineProperties - 'O' is an Array, 'P' is an array index
named property, 'P' is own accessor property (15.4.5.1 step 4.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arr = [];
Object.defineProperty(arr, "0", {
@@ -18,8 +16,7 @@ function testcase() {
},
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
"0": {
get: function () {
@@ -28,9 +25,5 @@ function testcase() {
configurable: true
}
});
- return false;
- } catch (e) {
- return e instanceof TypeError && arr[0] === 11;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr[0], 11, 'arr[0]');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js
index 5a1858f96..7241a38ef 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js
@@ -7,22 +7,15 @@ description: >
Object.defineProperties - 'O' is an Array, 'P' is an array index
named property, 'P' property doesn't exist in 'O', test TypeError
is thrown when 'O' is not extensible (15.4.5.1 step 4.c)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arr = [];
Object.preventExtensions(arr);
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arr, {
"0": {
value: 1
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError) && (arr.hasOwnProperty("0") === false);
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arr.hasOwnProperty("0"), false, 'arr.hasOwnProperty("0")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js
index 83ec6d5b2..03026ecbe 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js
@@ -7,10 +7,8 @@ description: >
Object.defineProperties - 'O' is the Arguments object which
implements its own [[GetOwnProperty]] method to get 'P' (8.12.9
step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var arg = function () {
return arguments;
}();
@@ -19,17 +17,11 @@ function testcase() {
value: 11,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arg, {
prop: {
value: 12,
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js
index 9dad16353..3597664af 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js
@@ -6,23 +6,16 @@ es5id: 15.2.3.7-6-a-25
description: >
Object.defineProperties - 'P' doesn't exist in 'O', test TypeError
is thrown when 'O' is not extensible (8.12.9 step 3)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.preventExtensions(obj);
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 12,
configurable: true
}
});
- return false;
- } catch (e) {
- return e instanceof TypeError && !obj.hasOwnProperty("prop");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js
index 38efcf4b7..c65a852dc 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js
@@ -9,11 +9,8 @@ description: >
of 'O', test TypeError is thrown when updating the [[Get]]
attribute value of 'P' which is defined as non-configurable (10.6
[[DefineOwnProperty]] step 4)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arg;
(function fun(a, b, c) {
@@ -33,18 +30,15 @@ function testcase() {
function get_func2() {
return 10;
}
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arg, {
"0": {
get: get_func2
}
});
-
- return false;
- } catch (e) {
+});
var desc = Object.getOwnPropertyDescriptor(arg, "0");
- return e instanceof TypeError && desc.get === get_func1 && typeof desc.set === "undefined" &&
- desc.enumerable === false && desc.configurable === false;
- }
- }
-runTestCase(testcase);
+assert.sameValue(desc.get, get_func1, 'desc.get');
+assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js
index d30df0a29..798298cf8 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js
@@ -9,11 +9,8 @@ description: >
of 'O', test TypeError is thrown when updating the [[Set]]
attribute value of 'P' which is defined as non-configurable (10.6
[[DefineOwnProperty]] step 4)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arg;
(function fun(a, b, c) {
@@ -34,18 +31,15 @@ function testcase() {
function set_func(value) {
arg.setVerifyHelpProp = value;
}
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(arg, {
"0": {
set: set_func
}
});
-
- return false;
- } catch (e) {
+});
var desc = Object.getOwnPropertyDescriptor(arg, "0");
- return e instanceof TypeError && desc.get === get_func && typeof desc.set === "undefined" &&
- desc.enumerable === false && desc.configurable === false;
- }
- }
-runTestCase(testcase);
+assert.sameValue(desc.get, get_func, 'desc.get');
+assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js
index c6b961343..aa93f1f02 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-3
description: >
Object.defineProperties - 'P' is own data property that overrides
an inherited data property (8.12.9 step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "prop", {
value: 11,
@@ -23,17 +21,11 @@ function testcase() {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 13,
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js
index 5f2b8c720..e1c624b55 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-4
description: >
Object.defineProperties - 'P' is own data property that overrides
an inherited accessor property (8.12.9 step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "prop", {
get: function () {
@@ -25,17 +23,11 @@ function testcase() {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 13,
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js
index 0c746d7d4..f46b1a03a 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-7
description: >
Object.defineProperties - 'P' is own accessor property that
overrides an inherited data property (8.12.9 step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "prop", {
value: 11,
@@ -25,17 +23,12 @@ function testcase() {
},
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 13,
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError) && obj.prop === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.prop, 12, 'obj.prop');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js
index 6a11a0b30..923f4fdc9 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-8
description: >
Object.defineProperties - 'P' is own accessor property that
overrides an inherited accessor property (8.12.9 step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "prop", {
get: function() {
@@ -27,17 +25,12 @@ function testcase() {
},
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
value: 13,
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError) && obj.prop === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.prop, 12, 'obj.prop');
diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js
index e5934a590..1b703ad31 100644
--- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js
+++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js
@@ -6,26 +6,18 @@ es5id: 15.2.3.7-6-a-9
description: >
Object.defineProperties - 'P' is own accessor property without a
get function (8.12.9 step 1 )
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
set: function () { },
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperties(obj, {
prop: {
get: function () { },
configurable: true
}
});
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js
index 2e7cae54e..07851ab52 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js
@@ -4,15 +4,8 @@
/*---
es5id: 15.2.3.6-1-1
description: Object.defineProperty applied to undefined throws a TypeError
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(undefined, "foo", {});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js
index e2a39b246..ad1ef64aa 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js
@@ -4,15 +4,8 @@
/*---
es5id: 15.2.3.6-1-2
description: Object.defineProperty applied to null throws a TypeError
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(null, "foo", {});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js
index b9b434085..7fac12e1b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js
@@ -6,15 +6,8 @@ es5id: 15.2.3.6-1-3
description: >
Object.defineProperty applied to number primitive throws a
TypeError
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(5, "foo", {});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js
index 3c3292f3b..2f0f77464 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js
@@ -6,15 +6,8 @@ es5id: 15.2.3.6-1-4
description: >
Object.defineProperty applied to string primitive throws a
TypeError
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.defineProperty("hello\nworld\\!", "foo", {});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-1.js
index c914dc7bc..c3459ee28 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-1.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-1.js
@@ -6,17 +6,8 @@ es5id: 15.2.3.6-1
description: >
Object.defineProperty throws TypeError if type of first param is
not Object
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(true, "foo", {});
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js b/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js
index e1d7435b0..1fa4963c1 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js
@@ -7,10 +7,8 @@ description: >
Object.defineProperty - TypeError exception is thrown when 'P' is
an object that neither toString nor valueOf returns a primitive
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var toStringAccessed = false;
var valueOfAccessed = false;
@@ -25,12 +23,8 @@ function testcase() {
return {};
}
};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, ownProp, {});
- return false;
- } catch (e) {
- return valueOfAccessed && toStringAccessed && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
+assert(valueOfAccessed, 'valueOfAccessed !== true');
+assert(toStringAccessed, 'toStringAccessed !== true');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js
index cd3a857fd..2dcf9d669 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-1
description: >
Object.defineProperty throws TypeError if desc has 'get' and
'value' present(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var getter = function () { return 1; }
var desc = { get: getter, value: 101};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js
index d8ac440cf..aa3bc8ca8 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-10
description: >
Object.defineProperty throws TypeError if setter is not callable
but not undefined (Number)(8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy setter
var setter = 42;
var desc = { set: setter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js
index 2af0b3495..fb3a335b5 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-11
description: >
Object.defineProperty throws TypeError if setter is not callable
but not undefined (Boolean)(8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy setter
var setter = true;
var desc = { set: setter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js
index d14a9006e..6435a0d7a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-12
description: >
Object.defineProperty throws TypeError if setter is not callable
but not undefined (String)(8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy setter
var setter = "abc";
var desc = { set: setter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js
index 311f910aa..dfd980d6a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-13
description: >
Object.defineProperty throws TypeError if the setter in desc is
not callable (Null)(8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy setter
var setter = null;
var desc = { set: setter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js
index e77f34afc..0ae2a8350 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-14
description: >
Object.defineProperty throws TypeError if setter is not callable
but not undefined (Object)(8.10.5 step 8.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var setter = { a: 1 };
var desc = { set: setter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js
index fa8505aa0..03bca14f1 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js
@@ -4,18 +4,9 @@
/*---
es5id: 15.2.3.6-3-15
description: Object.defineProperty - 'Attributes' is undefined (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var obj = {};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "property", undefined);
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js
index f69e46b1b..e56a08412 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js
@@ -4,16 +4,8 @@
/*---
es5id: 15.2.3.6-3-16
description: Object.defineProperty - 'Attributes' is null (8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty({}, "property", null);
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js
index 21e9cf4d2..855ddf4b2 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js
@@ -6,16 +6,8 @@ es5id: 15.2.3.6-3-17
description: >
Object.defineProperty - 'Attributes' is a boolean primitive
(8.10.5 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty({}, "property", true);
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js
index b3cb2ae4e..c2f3bcd67 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js
@@ -6,16 +6,8 @@ es5id: 15.2.3.6-3-18
description: >
Object.defineProperty - 'Attributes' is a number primitive (8.10.5
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty({}, "property", 12);
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js
index 4ea8af8ed..c10821348 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js
@@ -6,16 +6,8 @@ es5id: 15.2.3.6-3-19
description: >
Object.defineProperty - 'Attributes' is a string primitive (8.10.5
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty({}, "property", "abc");
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js
index c42ad2d38..768645e34 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-2
description: >
Object.defineProperty throws TypeError if desc has 'get' and
'writable' present(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var getter = function () { return 1; }
var desc = { get: getter, writable: false };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js
index a3a8ef7d4..7a254a689 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-3
description: >
Object.defineProperty throws TypeError if desc has 'set' and
'value' present(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy setter
var setter = function () { }
var desc = { set: setter, value: 101};
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js
index 85fb4c811..14d006411 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-4
description: >
Object.defineProperty throws TypeError if desc has 'set' and
'writable' present(8.10.5 step 9.a)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var setter = function () { }
var desc = { set: setter, writable: false };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js
index 6d9530c88..af6769186 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-5
description: >
Object.defineProperty throws TypeError if getter is not callable
but not undefined (Number)(8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var getter = 42;
var desc = { get: getter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js
index 8580c10ff..075befa12 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-6
description: >
Object.defineProperty throws TypeError if getter is not callable
but not undefined (Boolean)(8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var getter = true;
var desc = { get: getter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js
index e048b74ec..9625de703 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-7
description: >
Object.defineProperty throws TypeError if getter is not callable
but not undefined (String)(8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var getter = "abc";
var desc = { get: getter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js
index 70e9387f0..a71949299 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-8
description: >
Object.defineProperty throws TypeError if getter is not callable
but not undefined (Null)(8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var getter = null;
var desc = { get: getter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js
index 2cd8c3e6a..eb1e1b17e 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js
@@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-9
description: >
Object.defineProperty throws TypeError if getter is not callable
but not undefined (Object)(8.10.5 step 7.b)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// dummy getter
var getter = { a: 1 };
var desc = { get: getter };
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js
index 92413a320..8fcec00fe 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js
@@ -12,22 +12,12 @@ es5id: 15.2.3.6-4-1
description: >
Object.defineProperty throws TypeError when adding properties to
non-extensible objects(8.12.9 step 3)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
Object.preventExtensions(o);
-
- try {
+assert.throws(TypeError, function() {
var desc = { value: 1 };
Object.defineProperty(o, "foo", desc);
- }
- catch (e) {
- if (e instanceof TypeError &&
- (o.hasOwnProperty("foo") === false)) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js
index c8c916b5b..096d483e0 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js
@@ -12,10 +12,8 @@ description: >
Object.defineProperty throws TypeError when changing
[[Enumerable]] from false to true on non-configurable accessor
properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create an accessor property; all other attributes default to false.
@@ -27,20 +25,11 @@ function testcase() {
// now, setting enumerable to true should fail, since [[Configurable]]
// on the original property will be false.
var desc = { get: getter, enumerable: true };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.get, getter, 'd2.get');
+assert.sameValue(d2.enumerable, false, 'd2.enumerable');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js
index c2e53cabb..c2f96ae2b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js
@@ -12,10 +12,8 @@ description: >
Object.defineProperty throws TypeError when changing
[[Enumerable]] from true to false on non-configurable accessor
properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create an accessor property; all other attributes default to false.
@@ -27,20 +25,11 @@ function testcase() {
// now, setting enumerable to true should fail, since [[Configurable]]
// on the original property will be false.
var desc = { get: getter, enumerable: false };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.get, getter, 'd2.get');
+assert.sameValue(d2.enumerable, true, 'd2.enumerable');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js
index ccaee1e47..a2d049bb3 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js
@@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-12
description: >
Object.defineProperty throws TypeError when changing
non-configurable data properties to accessor properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create a data valued property; all other attributes default to false.
@@ -27,20 +25,12 @@ function testcase() {
var getter = function () { return 1; }
var desc = { get: getter };
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.value, 101, 'd2.value');
+assert.sameValue(d2.writable, false, 'd2.writable');
+assert.sameValue(d2.enumerable, false, 'd2.enumerable');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js
index 1c4501485..62f3f419f 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js
@@ -8,19 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "length", {
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js
index 6449cbe9d..3122743c3 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js
@@ -8,19 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "length", {
enumerable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js
index 0a7961a31..d65953e87 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js
@@ -7,21 +7,13 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "length", {
get: function () {
return 2;
}
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js
index c4bdd45b4..f807ba252 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js
@@ -8,23 +8,14 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
- try {
+assert.throws(TypeError, function() {
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/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js
index beae885f5..32c822833 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js
@@ -7,20 +7,11 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: undefined
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js
index f815a71f5..dba8d0421 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js
@@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-13
description: >
Object.defineProperty throws TypeError when changing
non-configurable accessor properties to data properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create an accessor property; all other attributes default to false.
@@ -26,19 +24,10 @@ function testcase() {
// changing "foo" to be a data property should fail, since [[Configurable]]
// on the original property will be false.
var desc = { value: 101 };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.get, getter, 'd2.get');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js
index a9d8b9825..990f4c190 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js
@@ -7,20 +7,11 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: -9
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js
index ec83b561c..6141877b5 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js
@@ -7,20 +7,11 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: +Infinity
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js
index 4822a5639..fa36e838f 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js
@@ -7,20 +7,11 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: -Infinity
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js
index 2aac312bb..a4b4c1b79 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js
@@ -7,20 +7,11 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: NaN
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js
index 0cc309762..b1f9b8fc6 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js
@@ -8,21 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: "-42"
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js
index f1d0616bb..13a4b9380 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js
@@ -8,21 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: "200.59"
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js
index d34bb0a5e..65d068b74 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js
@@ -8,21 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: "+Infinity"
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js
index b6627d57d..a39d1564a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js
@@ -8,20 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: "-Infinity"
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js
index d8aabcd36..8909f1994 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js
@@ -8,20 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: "two"
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js
index 38ee2aad7..caafe2291 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js
@@ -8,16 +8,12 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
var toStringAccessed = false;
var valueOfAccessed = false;
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "length", {
value: {
toString: function () {
@@ -31,10 +27,6 @@ function testcase() {
}
}
});
- return false;
-
- } catch (e) {
- return e instanceof TypeError && toStringAccessed && valueOfAccessed;
- }
- }
-runTestCase(testcase);
+});
+assert(toStringAccessed, 'toStringAccessed !== true');
+assert(valueOfAccessed, 'valueOfAccessed !== true');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js
index b06f8237b..e3975ad9e 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js
@@ -8,21 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: 123.5
});
-
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js
index fd3320eab..dc60afadf 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js
@@ -8,22 +8,11 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: -4294967294.5
});
-
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js
index 2975917f6..010a2237c 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js
@@ -7,21 +7,11 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: 4294967296
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js
index 10a0fa812..24b4e08ee 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js
@@ -7,21 +7,11 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
-
- try {
+assert.throws(RangeError, function() {
Object.defineProperty(arrObj, "length", {
value: 4294967297
});
- return false;
- } catch (e) {
- return e instanceof RangeError;
- }
-
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js
index 740c359d3..ac5f52330 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js
@@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-16
description: >
Object.defineProperty throws TypeError when relaxing [[Writable]]
on non-configurable data properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create a data valued property; all other attributes default to false.
@@ -23,21 +21,12 @@ function testcase() {
// 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 {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.value, 101, 'd2.value');
+assert.sameValue(d2.writable, false, 'd2.writable');
+assert.sameValue(d2.enumerable, false, 'd2.enumerable');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js
index d0e9c25b9..dd21806a7 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js
@@ -8,24 +8,15 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [];
Object.defineProperty(arrObj, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "length", {
value: 12
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js
index 89837ebee..c8a0513c7 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js
@@ -9,24 +9,15 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [0, 1];
Object.defineProperty(arrObj, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "length", {
value: 0
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js
index 584c171fc..1cb70eb37 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js
@@ -12,14 +12,10 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [0, 1, 2];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "1", {
configurable: false
});
@@ -28,9 +24,5 @@ function testcase() {
value: 0,
writable: false
});
- return false;
- } catch (e) {
- return e instanceof TypeError && arrObj.length === 2;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arrObj.length, 2, 'arrObj.length');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js
index 2244260fa..15aff6190 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js
@@ -10,11 +10,8 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [0, 1, 2];
Object.defineProperty(arrObj, "1", {
@@ -24,14 +21,10 @@ function testcase() {
Object.defineProperty(arrObj, "2", {
configurable: true
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "length", {
value: 1
});
- return false;
- } catch (e) {
- return e instanceof TypeError && arrObj.length === 2 && !arrObj.hasOwnProperty("2");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arrObj.length, 2, 'arrObj.length');
+assert.sameValue(arrObj.hasOwnProperty("2"), false, 'arrObj.hasOwnProperty("2")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js
index 4303b1ac5..9a945d76c 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js
@@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-17
description: >
Object.defineProperty throws TypeError when changing value of
non-writable non-configurable data properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create a data valued property; all other attributes default to false.
@@ -23,22 +21,13 @@ function testcase() {
// 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 {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.value, 101, 'd2.value');
+assert.sameValue(d2.writable, false, 'd2.writable');
+assert.sameValue(d2.enumerable, false, 'd2.enumerable');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js
index 276000567..4650c357e 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js
@@ -11,14 +11,10 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [0, 1];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "1", {
configurable: false
});
@@ -26,10 +22,6 @@ function testcase() {
Object.defineProperty(arrObj, "length", {
value: 1
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arrObj.length, 2, 'arrObj.length');
+assert(arrObj.hasOwnProperty("1"), 'arrObj.hasOwnProperty("1") !== true');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js
index 4563a5da4..422632e80 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js
@@ -9,14 +9,10 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
-
var arrObj = [0, 1];
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "1", {
get: function () {
return 1;
@@ -27,10 +23,6 @@ function testcase() {
Object.defineProperty(arrObj, "length", {
value: 1
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arrObj.length, 2, 'arrObj.length');
+assert(arrObj.hasOwnProperty("1"), 'arrObj.hasOwnProperty("1") !== true');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js
index f9f358abf..ff511f401 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js
@@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-18
description: >
Object.defineProperty throws TypeError when changing setter of
non-configurable accessor properties(8.12.9 step 11.a.i)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create an accessor property; all other attributes default to false.
@@ -26,20 +24,11 @@ function testcase() {
// on the original property will be false.
var setter = function (x) {};
var desc = { set: setter };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.get, getter, 'd2.get');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
+assert.sameValue(d2.enumerable, false, 'd2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js
index 83b282019..53b68caf9 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js
@@ -8,24 +8,15 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arrObj = [1, 2, 3];
Object.defineProperty(arrObj, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, 3, {
value: "abc"
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js
index 2308e831f..f67443f47 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js
@@ -9,24 +9,15 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arrObj = [1, 2, 3];
Object.defineProperty(arrObj, "length", {
writable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, 4, {
value: "abc"
});
-
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js
index d10e7f75e..27354b58d 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js
@@ -7,19 +7,12 @@ 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)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arrObj = [];
Object.preventExtensions(arrObj);
-
- try {
+assert.throws(TypeError, function() {
var desc = { value: 1 };
Object.defineProperty(arrObj, "0", desc);
- return false;
- } catch (e) {
- return e instanceof TypeError && (arrObj.hasOwnProperty("0") === false);
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arrObj.hasOwnProperty("0"), false, 'arrObj.hasOwnProperty("0")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js
index 490183f73..a40764a32 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js
@@ -11,10 +11,8 @@ description: >
Object.defineProperty throws TypeError when changing getter (if
present) of non-configurable accessor properties(8.12.9 step
11.a.ii)
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create an accessor property; all other attributes default to false.
@@ -26,20 +24,11 @@ function testcase() {
// now, trying to change the setter should fail, since [[Configurable]]
// on the original property will be false.
var desc = { get: undefined };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.get, getter, 'd2.get');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
+assert.sameValue(d2.enumerable, false, 'd2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js
index 7a536dfc9..6643da65d 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js
@@ -6,24 +6,17 @@ es5id: 15.2.3.6-4-22
description: >
Object.defineProperty - 'name' is existing own data property
(8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "foo", {
value: 11,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
value: 12,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && obj.foo === 11;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.foo, 11, 'obj.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js
index 7ffd5748e..a1e7f654f 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-24
description: >
Object.defineProperty - 'name' is own data property that overrides
an inherited data property (8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "foo", {
value: 12,
@@ -23,14 +21,9 @@ function testcase() {
value: 11,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && obj.foo === 11;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.foo, 11, 'obj.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js
index ef42415f1..0dafb044a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-25
description: >
Object.defineProperty - 'data' is own data property that overrides
an inherited accessor property (8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "foo", {
get: function () { },
@@ -23,14 +21,9 @@ function testcase() {
value: 11,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && obj.foo === 11;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.foo, 11, 'obj.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js
index ec2e4c818..5a6c52ba5 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-26
description: >
Object.defineProperty - 'name' is own accessor property (8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "property", {
@@ -18,17 +16,12 @@ function testcase() {
},
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "property", {
get: function () {
return 12;
},
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && obj.property === 11;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.property, 11, 'obj.property');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js
index c3b6b5019..e2918e4bb 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-28
description: >
Object.defineProperty - 'name' is own accessor property that
overrides an inherited data property (8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "foo", {
value: 11,
@@ -23,14 +21,8 @@ function testcase() {
get: function () { },
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js
index 0c11ec0bd..249380afc 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-29
description: >
Object.defineProperty - 'name' is own accessor property that
overrides an inherited accessor property (8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "foo", {
get: function () { },
@@ -23,14 +21,8 @@ function testcase() {
get: function () { },
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js
index a30d39884..3c42e298d 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js
@@ -6,23 +6,15 @@ es5id: 15.2.3.6-4-30
description: >
Object.defineProperty - 'name' is own accessor property without a
get function (8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "foo", {
set: function () { },
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js
index c3cff89f9..3a2098e1e 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js
@@ -7,10 +7,8 @@ description: >
Object.defineProperty - 'name' is own accessor property without a
get function that overrides an inherited accessor property(8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var proto = {};
Object.defineProperty(proto, "foo", {
get: function () { },
@@ -24,14 +22,8 @@ function testcase() {
set: function () { },
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js
index 1e0a81186..0f95d6cf5 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is a Function object that uses
Object's [[GetOwnProperty]] method to access the 'name' property
(8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var fun = function () { };
Object.defineProperty(fun, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(fun, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && fun.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(fun.foo, 12, 'fun.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js
index c91bd20ac..a09c71134 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Enumerable]] attribute of data
property ([[Writable]] is true, [[Enumerable]] is true,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -22,15 +20,13 @@ function testcase() {
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.enumerable, true, 'desc1.enumerable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.enumerable, true, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js
index 38f563aa0..45425687a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Configurable]] attribute of data
property ([[Writable]] is true, [[Enumerable]] is true,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -21,15 +19,13 @@ function testcase() {
});
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.configurable, false, 'desc1.configurable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.configurable, false, 'desc2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js
index 01b6f0230..f4523b9af 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js
@@ -8,10 +8,8 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = [];
Object.defineProperty(obj, "0", {
@@ -26,14 +24,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj[0], 2010, 'obj[0]');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js
index 428e988e3..d2efb019b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js
@@ -8,10 +8,8 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = (function () {
return arguments;
}());
@@ -28,14 +26,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js
index eea47783f..dedf8ce8f 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js
@@ -8,10 +8,8 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = [];
Object.defineProperty(obj, "prop", {
@@ -26,15 +24,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js
index 92a20998b..35d2aa614 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js
@@ -8,10 +8,8 @@ description: >
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)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = (function () {
return arguments;
}());
@@ -28,15 +26,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj[0], 2010, 'obj[0]');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js
index ec5daa537..1cce212b2 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update the data property ([[Writable]] is
true, [[Enumerable]] is true, [[Configurable]] is false) to an
accessor property
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -25,14 +23,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js
index dfa637d26..323bd5e01 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is an Array object that uses Object's
[[GetOwnProperty]] method to access the 'name' property (8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var arrObj = [];
Object.defineProperty(arrObj, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(arrObj, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && arrObj.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(arrObj.foo, 12, 'arrObj.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js
index e19b585b6..b6f3fb3b3 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is a String object which implements
its own [[GetOwnProperty]] method to access the 'name' property
(8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var str = new String("abc");
Object.defineProperty(str, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(str, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && str.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(str.foo, 12, 'str.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js
index 72da60ce6..4007343fa 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Enumerable]] attribute of data
property ([[Writable]] is true, [[Enumerable]] is false,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -22,15 +20,13 @@ function testcase() {
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.enumerable, false, 'desc1.enumerable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.enumerable, false, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js
index fd24809f3..e06bcef7a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Configurable]] attribute of data
property ([[Writable]] is true, [[Enumerable]] is false,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -22,15 +20,13 @@ function testcase() {
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.configurable, false, 'desc1.configurable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.configurable, false, 'desc2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js
index 98c28a86c..7f90efce2 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update the data property ([[Writable]] is
true, [[Enumerable]] is false, [[Configurable]] is false) to an
accessor property
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -25,14 +23,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js
index 2efdb8453..207e87585 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is a Boolean object that uses Object's
[[GetOwnProperty]] method to access the 'name' property (8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = new Boolean(true);
Object.defineProperty(obj, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && obj.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.foo, 12, 'obj.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js
index dd02213bd..2bca77ac7 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Writable]] attribute of data
property ([[Writable]] is false, [[Enumerable]] is true,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -21,16 +19,14 @@ function testcase() {
});
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.writable, false, 'desc1.writable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.writable, false, 'desc2.writable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js
index ccb73b470..e64f411e9 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Enumerable]] attribute of data
property ([[Writable]] is false, [[Enumerable]] is true,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -21,16 +19,14 @@ function testcase() {
});
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.enumerable, true, 'desc1.enumerable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.enumerable, true, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js
index 4d8111171..1b8309916 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Configurable]] attribute of data
property ([[Writable]] is false, [[Enumerable]] is true,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -21,16 +19,14 @@ function testcase() {
});
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.configurable, false, 'desc1.configurable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.configurable, false, 'desc2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js
index e7152981d..2626b69fa 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update the data property ([[Writable]] is
false, [[Enumerable]] is true, [[Configurable]] is false) to an
accessor property
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -25,14 +23,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js
index 09d3cf916..c27cbbc78 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is a Number object that uses Object's
[[GetOwnProperty]] method to access the 'name' property (8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = new Number(-2);
Object.defineProperty(obj, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && obj.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(obj.foo, 12, 'obj.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js
index a43957223..ca9b1ab78 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Writable]] attribute of data
property ([[Writable]] is false, [[Enumerable]] is false,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -21,17 +19,14 @@ function testcase() {
});
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.writable, false, 'desc1.writable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.writable, false, 'desc2.writable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js
index ba16519f4..8d52b1bb0 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Enumerable]] attribute of data
property ([[Writable]] is false, [[Enumerable]] is false,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -21,16 +19,14 @@ function testcase() {
});
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.enumerable, false, 'desc1.enumerable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.enumerable, false, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js
index b47b2906a..8797d6d55 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update [[Configurable]] attribute of data
property ([[Writable]] is false, [[Enumerable]] is false,
[[Configurable]] is false) to different value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -21,17 +19,14 @@ function testcase() {
});
var propertyDefineCorrect = obj.hasOwnProperty("prop");
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.configurable, false, 'desc1.configurable');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(desc2.configurable, false, 'desc2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js
index 3ed7d37a4..93a371d41 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js
@@ -7,10 +7,8 @@ description: >
ES5 Attributes - fail to update the data property ([[Writable]] is
false, [[Enumerable]] is false, [[Configurable]] is false) to an
accessor property
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -25,14 +23,13 @@ function testcase() {
function getFunc() {
return 20;
}
- try {
+assert.throws(TypeError, function() {
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);
+assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
+assert.sameValue(desc1.value, 2010, 'desc1.value');
+assert.sameValue(obj.prop, 2010, 'obj.prop');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js
index 077cbfe4f..8e26fa442 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is a Date object that uses Object's
[[GetOwnProperty]] method to access the 'name' property (8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var desc = new Date();
Object.defineProperty(desc, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(desc, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && desc.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(desc.foo, 12, 'desc.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js
index e5541472a..bfff5ac93 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is a RegExp object that uses Object's
[[GetOwnProperty]] method to access the 'name' property (8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var desc = new RegExp();
Object.defineProperty(desc, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(desc, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && desc.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(desc.foo, 12, 'desc.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js
index 4c5524806..2ca95325b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is an Error object that uses Object's
[[GetOwnProperty]] method to access the 'name' property (8.12.9
step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var desc = new Error();
Object.defineProperty(desc, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(desc, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && desc.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(desc.foo, 12, 'desc.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js
index a0ad64d78..4146385ec 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js
@@ -7,25 +7,18 @@ description: >
Object.defineProperty - 'O' is an Arguments object which
implements its own [[GetOwnProperty]] method to access the 'name'
property (8.12.9 step 1)
-includes: [runTestCase.js]
---*/
-function testcase() {
var argObj = (function () { return arguments; })();
Object.defineProperty(argObj, "foo", {
value: 12,
configurable: false
});
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(argObj, "foo", {
value: 11,
configurable: true
});
- return false;
- } catch (e) {
- return e instanceof TypeError && argObj.foo === 12;
- }
- }
-runTestCase(testcase);
+});
+assert.sameValue(argObj.foo, 12, 'argObj.foo');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js
index 11576b55f..c95379168 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is undefined,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
return 1001;
@@ -26,17 +24,14 @@ function testcase() {
var result1 = typeof obj.prop === "undefined";
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js
index 84804edc6..56a876802 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is undefined,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
var setFunc = function (value) {
@@ -26,16 +24,11 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set');
+assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js
index cc31175c4..1ad84c659 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is undefined, [[Set]] is undefined,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -27,14 +25,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: false
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -43,7 +38,7 @@ function testcase() {
}
}
- return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.enumerable, true, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, true, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js
index 0be18cdb8..ce40ec27b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -20,17 +18,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js
index dac2a2b33..c0780c55b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is undefined,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
return 1001;
@@ -26,17 +24,14 @@ function testcase() {
var result1 = typeof obj.prop === "undefined";
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js
index 1c1b6e852..52e445972 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is undefined,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
@@ -27,16 +25,11 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set');
+assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js
index 74a99987d..baad82466 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is undefined, [[Set]] is undefined,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -27,14 +25,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: true
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -43,7 +38,7 @@ function testcase() {
}
}
- return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert.sameValue(result1, false, 'result1');
+assert.sameValue(result2, false, 'result2');
+assert.sameValue(desc1.enumerable, false, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, false, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js
index 9bb5c03ab..7f90aa379 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
Object.defineProperty(obj, "prop", {
@@ -20,17 +18,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js
index 58813e18d..1d0099628 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is a Function,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -32,18 +30,15 @@ function testcase() {
var result1 = typeof obj.prop === "undefined";
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js
index b19d31760..1502c79c1 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is a Function,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
@@ -27,17 +25,12 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(desc1.set, setFunc, 'desc1.set');
+assert.sameValue(desc2.set, setFunc, 'desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js
index a004a0e68..a9c65d14d 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is undefined, [[Set]] is a Function,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
@@ -33,14 +31,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: false
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -49,7 +44,7 @@ function testcase() {
}
}
- return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.enumerable, true, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, true, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js
index 63827bb2d..1ea58556c 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
@@ -25,17 +23,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js
index d6a8997ed..18e561052 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is a Function,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -32,18 +30,15 @@ function testcase() {
var result1 = typeof obj.prop === "undefined";
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get');
+assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js
index ee9586443..a397f74ee 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is undefined, [[Set]] is a Function,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
@@ -27,17 +25,12 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(desc1.set, setFunc, 'desc1.set');
+assert.sameValue(desc2.set, setFunc, 'desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js
index a382a2d6b..04c26899b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is undefined, [[Set]] is a Function,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
@@ -33,14 +31,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: true
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -49,7 +44,7 @@ function testcase() {
}
}
- return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert.sameValue(result1, false, 'result1');
+assert.sameValue(result2, false, 'result2');
+assert.sameValue(desc1.enumerable, false, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, false, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js
index 28b9d24b8..8e51a7fd8 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var verifySetFunc = "data";
@@ -25,17 +23,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js
index e04445694..f5ffda634 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is undefined,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
return 1001;
@@ -26,18 +24,15 @@ function testcase() {
var result1 = obj.prop === 1001;
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.get, getFunc, 'desc1.get');
+assert.sameValue(desc2.get, getFunc, 'desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js
index cb784f209..5aba3d35e 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is undefined,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -31,17 +29,12 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set');
+assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js
index fb4dc700a..697a1b3c4 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is a Function, [[Set]] is undefined,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -31,14 +29,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: false
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -47,7 +42,7 @@ function testcase() {
}
}
- return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.enumerable, true, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, true, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js
index b6289d448..d3c44cf0b 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -24,17 +22,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js
index 55bc619ab..1ac4af8f8 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is undefined,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
return 1001;
@@ -26,18 +24,15 @@ function testcase() {
var result1 = obj.prop === 1001;
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.get, getFunc, 'desc1.get');
+assert.sameValue(desc2.get, getFunc, 'desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js
index 92edac2a6..620c61a24 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is undefined,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -31,17 +29,12 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set');
+assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js
index efa02dc5d..a1cc85f9a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is a Function, [[Set]] is undefined,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -31,14 +29,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: true
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -47,7 +42,7 @@ function testcase() {
}
}
- return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert.sameValue(result1, false, 'result1');
+assert.sameValue(result2, false, 'result2');
+assert.sameValue(desc1.enumerable, false, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, false, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js
index 299e56517..891797eb9 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -24,17 +22,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js
index b1f5f5598..7afe42f31 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is a Function,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -32,18 +30,15 @@ function testcase() {
var result1 = obj.prop === 1001;
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.get, getFunc, 'desc1.get');
+assert.sameValue(desc2.get, getFunc, 'desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js
index 6f75dd075..c8b18272f 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is a Function,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -31,17 +29,12 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(desc1.set, setFunc, 'desc1.set');
+assert.sameValue(desc2.set, setFunc, 'desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js
index da86a8433..f6150509a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is a Function, [[Set]] is a Function,
[[Enumerable]] is true, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -36,14 +34,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: false
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -52,7 +47,7 @@ function testcase() {
}
}
- return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.enumerable, true, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, true, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js
index 8fb4ec5f0..a75fb8782 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -29,17 +27,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js
index 2e4cdac50..376507ea1 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is a Function,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -32,18 +30,15 @@ function testcase() {
var result1 = obj.prop === 1001;
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(result1, 'result1 !== true');
+assert(result2, 'result2 !== true');
+assert.sameValue(desc1.get, getFunc, 'desc1.get');
+assert.sameValue(desc2.get, getFunc, 'desc2.get');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js
index c299ee088..874f22ea2 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js
@@ -8,10 +8,8 @@ description: >
property ([[Get]] is a Function, [[Set]] is a Function,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -31,17 +29,12 @@ function testcase() {
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(desc1.set, setFunc, 'desc1.set');
+assert.sameValue(desc2.set, setFunc, 'desc2.set');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js
index 921fd22d6..56423191a 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js
@@ -8,10 +8,8 @@ description: >
accessor property ([[Get]] is a Function, [[Set]] is a Function,
[[Enumerable]] is false, [[Configurable]] is false) to different
value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -36,14 +34,11 @@ function testcase() {
result1 = true;
}
}
-
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(obj, "prop", {
enumerable: true
});
-
- return false;
- } catch (e) {
+});
var result2 = false;
var desc2 = Object.getOwnPropertyDescriptor(obj, "prop");
for (var p2 in obj) {
@@ -52,7 +47,7 @@ function testcase() {
}
}
- return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+assert.sameValue(result1, false, 'result1');
+assert.sameValue(result2, false, 'result2');
+assert.sameValue(desc1.enumerable, false, 'desc1.enumerable');
+assert.sameValue(desc2.enumerable, false, 'desc2.enumerable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js
index d52f342c5..6876df415 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js
@@ -7,10 +7,8 @@ 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
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = {};
var getFunc = function () {
@@ -29,17 +27,12 @@ function testcase() {
configurable: false
});
var desc1 = Object.getOwnPropertyDescriptor(obj, "prop");
-
- try {
+assert.throws(TypeError, function() {
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);
+assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true');
+assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js
index d874014a5..14bf5ed36 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js
@@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-7
description: >
Object.defineProperty throws TypeError when changing
[[Configurable]] from false to true
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create a data valued property; all other attributes default to false.
@@ -21,19 +19,10 @@ function testcase() {
Object.defineProperty(o, "foo", d1);
var desc = { value: 101, configurable: true };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.value, 101, 'd2.value');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js
index 43c626922..e94862560 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js
@@ -12,10 +12,8 @@ description: >
Object.defineProperty throws TypeError when changing
[[Enumerable]] from false to true on non-configurable data
properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create a data valued property; all other attributes default to false.
@@ -25,20 +23,11 @@ function testcase() {
// now, setting enumerable to true should fail, since [[Configurable]]
// on the original property will be false.
var desc = { value: 101, enumerable: true };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.value, 101, 'd2.value');
+assert.sameValue(d2.enumerable, false, 'd2.enumerable');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js
index 97bb0005e..6f35edc34 100644
--- a/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js
+++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js
@@ -12,10 +12,8 @@ description: >
Object.defineProperty throws TypeError when changing
[[Enumerable]] from true to false on non-configurable data
properties
-includes: [runTestCase.js]
---*/
-function testcase() {
var o = {};
// create a data valued property with [[Enumerable]] explicitly set to true;
@@ -26,20 +24,11 @@ function testcase() {
// now, setting enumerable to false should fail, since [[Configurable]]
// on the original property will be false.
var desc = { value: 101, enumerable: false };
-
- try {
+assert.throws(TypeError, function() {
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);
+assert.sameValue(d2.value, 101, 'd2.value');
+assert.sameValue(d2.enumerable, true, 'd2.enumerable');
+assert.sameValue(d2.configurable, false, 'd2.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js
index 35ddf6030..bc63911fa 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js
@@ -6,14 +6,9 @@ es5id: 15.2.3.3-1-1
description: >
Object.getOwnPropertyDescriptor - TypeError is thrown when first
param is undefined
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.getOwnPropertyDescriptor(undefined, "foo");
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js
index 1a6ba1417..09b858714 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js
@@ -6,14 +6,9 @@ es5id: 15.2.3.3-1-2
description: >
Object.getOwnPropertyDescriptor - TypeError is thrown when first
param is null
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.getOwnPropertyDescriptor(null, "foo");
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js
index 5c894608a..4527a76d3 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js
@@ -7,10 +7,8 @@ description: >
Object.getOwnPropertyDescriptor - TypeError exception was thrown
when 'P' is an object that both toString and valueOf wouldn't
return primitive value
-includes: [runTestCase.js]
---*/
-function testcase() {
var obj = { "1": 1 };
var toStringAccessed = false;
var valueOfAccessed = false;
@@ -25,12 +23,8 @@ function testcase() {
return [1];
}
};
-
- try {
+assert.throws(TypeError, function() {
Object.getOwnPropertyDescriptor(obj, ownProp);
- return false;
- } catch (e) {
- return toStringAccessed && valueOfAccessed && e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
+assert(toStringAccessed, 'toStringAccessed !== true');
+assert(valueOfAccessed, 'valueOfAccessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js
index 764259971..51ce6f35f 100644
--- a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js
+++ b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js
@@ -4,15 +4,9 @@
/*---
es5id: 15.2.3.4-1-2
description: Object.getOwnPropertyNames throws TypeError if 'O' is undefined
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.getOwnPropertyNames(undefined);
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js
index cab3a3d00..4a9ac3a33 100644
--- a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js
+++ b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js
@@ -4,15 +4,9 @@
/*---
es5id: 15.2.3.4-1-3
description: Object.getOwnPropertyNames throws TypeError if 'O' is null
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.getOwnPropertyNames(null);
- return false;
- } catch (e) {
- return e instanceof TypeError;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js b/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js
index e36abd846..9f8eb76e0 100644
--- a/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js
+++ b/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js
@@ -4,18 +4,9 @@
/*---
es5id: 15.2.3.2-0-3
description: Object.getPrototypeOf must take 1 parameter
-includes: [runTestCase.js]
---*/
-function testcase() {
- try
- {
+
+assert.throws(TypeError, function() {
Object.getPrototypeOf();
- }
- catch(e)
- {
- if(e instanceof TypeError)
- return true;
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js b/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js
index 8e2835a32..3f73a4c07 100644
--- a/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js
+++ b/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js
@@ -4,15 +4,9 @@
/*---
es5id: 15.2.3.2-1-2
description: Object.getPrototypeOf throws TypeError if 'O' is null
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.getPrototypeOf(null);
- return false;
- } catch (e) {
- return (e instanceof TypeError);
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/keys/15.2.3.14-1-4.js b/test/built-ins/Object/keys/15.2.3.14-1-4.js
index 10d7acf2a..fdc5d31ee 100644
--- a/test/built-ins/Object/keys/15.2.3.14-1-4.js
+++ b/test/built-ins/Object/keys/15.2.3.14-1-4.js
@@ -6,17 +6,9 @@ es5id: 15.2.3.14-1-4
description: >
Object.keys throws TypeError if type of first param is not Object
(null)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.keys(null);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/keys/15.2.3.14-1-5.js b/test/built-ins/Object/keys/15.2.3.14-1-5.js
index deac600fc..fa00eb9e0 100644
--- a/test/built-ins/Object/keys/15.2.3.14-1-5.js
+++ b/test/built-ins/Object/keys/15.2.3.14-1-5.js
@@ -6,17 +6,9 @@ es5id: 15.2.3.14-1-5
description: >
Object.keys throws TypeError if type of first param is not Object
(undefined)
-includes: [runTestCase.js]
---*/
-function testcase() {
- try {
+
+assert.throws(TypeError, function() {
Object.keys(undefined);
- }
- catch (e) {
- if (e instanceof TypeError) {
- return true;
- }
- }
- }
-runTestCase(testcase);
+});
diff --git a/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js b/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js
index 4539ae6d8..def72f4f6 100644
--- a/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js
+++ b/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js
@@ -6,19 +6,14 @@ es5id: 15.2.3.10-3-5
description: >
Object.preventExtensions - indexed properties cannot be added into
a String object
-includes: [runTestCase.js]
---*/
-function testcase() {
var strObj = new String();
var preCheck = Object.isExtensible(strObj);
Object.preventExtensions(strObj);
- try {
+assert.throws(TypeError, function() {
Object.defineProperty(strObj, "0", { value: "c" });
- return false;
- } catch (e) {
- return e instanceof TypeError && preCheck &&
- !strObj.hasOwnProperty("0") && typeof strObj[0] === "undefined";
- }
- }
-runTestCase(testcase);
+});
+assert(preCheck, 'preCheck !== true');
+assert.sameValue(strObj.hasOwnProperty("0"), false, 'strObj.hasOwnProperty("0")');
+assert.sameValue(typeof strObj[0], "undefined", 'typeof strObj[0]');