From ed0a2bad55816e1804a7cb3d80b252d058067e2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?= <andre.bargull@gmail.com>
Date: Tue, 11 Aug 2015 17:52:09 +0200
Subject: [PATCH] Replace runTestCase with assert helpers
 [test/built-ins/Object/getOwnPropertyDescriptor]

---
 .../getOwnPropertyDescriptor/15.2.3.3-0-1.js  |  8 +-------
 .../getOwnPropertyDescriptor/15.2.3.3-0-2.js  |  8 +-------
 .../getOwnPropertyDescriptor/15.2.3.3-1-3.js  |  5 -----
 .../getOwnPropertyDescriptor/15.2.3.3-1-4.js  |  5 -----
 .../getOwnPropertyDescriptor/15.2.3.3-1.js    |  5 -----
 .../getOwnPropertyDescriptor/15.2.3.3-2-1.js  |  9 ++-------
 .../getOwnPropertyDescriptor/15.2.3.3-2-10.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-11.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-12.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-13.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-14.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-15.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-16.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-17.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-18.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-19.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-2.js  |  9 ++-------
 .../getOwnPropertyDescriptor/15.2.3.3-2-20.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-21.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-22.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-23.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-24.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-25.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-26.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-27.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-28.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-29.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-3.js  |  7 ++-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-30.js |  7 ++-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-31.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-32.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-33.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-34.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-35.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-36.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-37.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-38.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-39.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-4.js  |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-40.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-41.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-42.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-43.js |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-44.js |  8 +++-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-45.js |  7 ++-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-47.js |  8 +++-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-5.js  |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-6.js  |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-7.js  |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-8.js  |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-2-9.js  |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-3-1.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-10.js |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-13.js | 10 ++++------
 .../getOwnPropertyDescriptor/15.2.3.3-3-14.js |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-15.js |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-2.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-3.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-4.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-5.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-6.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-7.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-8.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-3-9.js  |  7 +------
 .../getOwnPropertyDescriptor/15.2.3.3-4-1.js  | 19 +++++++-----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-10.js | 18 ++++++-----------
 .../15.2.3.3-4-100.js                         | 15 +++++---------
 .../15.2.3.3-4-101.js                         | 15 +++++---------
 .../15.2.3.3-4-102.js                         | 15 +++++---------
 .../15.2.3.3-4-103.js                         | 15 +++++---------
 .../15.2.3.3-4-104.js                         | 15 +++++---------
 .../15.2.3.3-4-105.js                         | 15 +++++---------
 .../15.2.3.3-4-106.js                         | 15 +++++---------
 .../15.2.3.3-4-107.js                         | 15 +++++---------
 .../15.2.3.3-4-108.js                         | 15 +++++---------
 .../15.2.3.3-4-109.js                         | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-11.js | 18 ++++++-----------
 .../15.2.3.3-4-110.js                         | 15 +++++---------
 .../15.2.3.3-4-111.js                         | 15 +++++---------
 .../15.2.3.3-4-112.js                         | 15 +++++---------
 .../15.2.3.3-4-113.js                         | 15 +++++---------
 .../15.2.3.3-4-114.js                         | 15 +++++---------
 .../15.2.3.3-4-115.js                         | 15 +++++---------
 .../15.2.3.3-4-116.js                         | 15 +++++---------
 .../15.2.3.3-4-117.js                         | 15 +++++---------
 .../15.2.3.3-4-118.js                         | 15 +++++---------
 .../15.2.3.3-4-120.js                         | 15 +++++---------
 .../15.2.3.3-4-121.js                         | 15 +++++---------
 .../15.2.3.3-4-122.js                         | 15 +++++---------
 .../15.2.3.3-4-123.js                         | 15 +++++---------
 .../15.2.3.3-4-124.js                         | 15 +++++---------
 .../15.2.3.3-4-125.js                         | 15 +++++---------
 .../15.2.3.3-4-126.js                         | 15 +++++---------
 .../15.2.3.3-4-127.js                         | 15 +++++---------
 .../15.2.3.3-4-128.js                         | 15 +++++---------
 .../15.2.3.3-4-129.js                         | 15 +++++---------
 .../15.2.3.3-4-130.js                         | 15 +++++---------
 .../15.2.3.3-4-131.js                         | 15 +++++---------
 .../15.2.3.3-4-132.js                         | 15 +++++---------
 .../15.2.3.3-4-133.js                         | 15 +++++---------
 .../15.2.3.3-4-134.js                         | 15 +++++---------
 .../15.2.3.3-4-135.js                         | 15 +++++---------
 .../15.2.3.3-4-136.js                         | 15 +++++---------
 .../15.2.3.3-4-138.js                         | 15 +++++---------
 .../15.2.3.3-4-139.js                         | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-14.js | 15 +++++---------
 .../15.2.3.3-4-140.js                         | 15 +++++---------
 .../15.2.3.3-4-141.js                         | 15 +++++---------
 .../15.2.3.3-4-142.js                         | 15 +++++---------
 .../15.2.3.3-4-143.js                         | 15 +++++---------
 .../15.2.3.3-4-144.js                         | 15 +++++---------
 .../15.2.3.3-4-145.js                         | 15 +++++---------
 .../15.2.3.3-4-146.js                         | 15 +++++---------
 .../15.2.3.3-4-147.js                         | 15 +++++---------
 .../15.2.3.3-4-148.js                         | 15 +++++---------
 .../15.2.3.3-4-149.js                         | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-15.js | 15 +++++---------
 .../15.2.3.3-4-150.js                         | 15 +++++---------
 .../15.2.3.3-4-151.js                         | 15 +++++---------
 .../15.2.3.3-4-152.js                         | 15 +++++---------
 .../15.2.3.3-4-153.js                         | 15 +++++---------
 .../15.2.3.3-4-154.js                         | 15 +++++---------
 .../15.2.3.3-4-156.js                         | 15 +++++---------
 .../15.2.3.3-4-157.js                         | 15 +++++---------
 .../15.2.3.3-4-158.js                         | 15 +++++---------
 .../15.2.3.3-4-159.js                         | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-16.js | 15 +++++---------
 .../15.2.3.3-4-160.js                         | 15 +++++---------
 .../15.2.3.3-4-161.js                         | 15 +++++---------
 .../15.2.3.3-4-162.js                         | 15 +++++---------
 .../15.2.3.3-4-163.js                         | 15 +++++---------
 .../15.2.3.3-4-165.js                         | 15 +++++---------
 .../15.2.3.3-4-166.js                         | 15 +++++---------
 .../15.2.3.3-4-167.js                         | 15 +++++---------
 .../15.2.3.3-4-168.js                         | 15 +++++---------
 .../15.2.3.3-4-169.js                         | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-17.js | 15 +++++---------
 .../15.2.3.3-4-170.js                         | 15 +++++---------
 .../15.2.3.3-4-171.js                         | 15 +++++---------
 .../15.2.3.3-4-172.js                         | 15 +++++---------
 .../15.2.3.3-4-173.js                         | 15 +++++---------
 .../15.2.3.3-4-174.js                         | 15 +++++---------
 .../15.2.3.3-4-175.js                         | 15 +++++---------
 .../15.2.3.3-4-176.js                         | 15 +++++---------
 .../15.2.3.3-4-177.js                         | 15 +++++---------
 .../15.2.3.3-4-178.js                         | 20 ++++++-------------
 .../15.2.3.3-4-179.js                         | 20 ++++++-------------
 .../getOwnPropertyDescriptor/15.2.3.3-4-18.js | 15 +++++---------
 .../15.2.3.3-4-180.js                         | 20 ++++++-------------
 .../15.2.3.3-4-182.js                         | 16 +++++----------
 .../15.2.3.3-4-183.js                         |  9 +--------
 .../15.2.3.3-4-184.js                         |  9 +--------
 .../15.2.3.3-4-185.js                         | 16 +++++----------
 .../15.2.3.3-4-186.js                         | 16 +++++----------
 .../15.2.3.3-4-187.js                         | 16 +++++----------
 .../15.2.3.3-4-188.js                         |  7 ++-----
 .../15.2.3.3-4-189.js                         | 16 +++++----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-19.js | 15 +++++---------
 .../15.2.3.3-4-190.js                         | 16 +++++----------
 .../15.2.3.3-4-191.js                         | 16 +++++----------
 .../15.2.3.3-4-192.js                         | 16 +++++----------
 .../15.2.3.3-4-193.js                         | 16 +++++----------
 .../15.2.3.3-4-194.js                         | 16 +++++----------
 .../15.2.3.3-4-195.js                         | 16 +++++----------
 .../15.2.3.3-4-196.js                         | 16 +++++----------
 .../15.2.3.3-4-197.js                         | 16 +++++----------
 .../15.2.3.3-4-198.js                         | 16 +++++----------
 .../15.2.3.3-4-199.js                         | 16 +++++----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-2.js  |  9 ++-------
 .../getOwnPropertyDescriptor/15.2.3.3-4-20.js | 15 +++++---------
 .../15.2.3.3-4-200.js                         | 16 +++++----------
 .../15.2.3.3-4-201.js                         | 16 +++++----------
 .../15.2.3.3-4-202.js                         | 16 +++++----------
 .../15.2.3.3-4-203.js                         | 16 +++++----------
 .../15.2.3.3-4-204.js                         | 16 +++++----------
 .../15.2.3.3-4-205.js                         | 16 +++++----------
 .../15.2.3.3-4-206.js                         | 16 +++++----------
 .../15.2.3.3-4-207.js                         | 16 +++++----------
 .../15.2.3.3-4-208.js                         | 16 +++++----------
 .../15.2.3.3-4-209.js                         | 16 +++++----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-21.js | 15 +++++---------
 .../15.2.3.3-4-210.js                         | 16 +++++----------
 .../15.2.3.3-4-211.js                         | 16 +++++----------
 .../15.2.3.3-4-212.js                         | 16 +++++----------
 .../15.2.3.3-4-213.js                         | 16 +++++----------
 .../15.2.3.3-4-214.js                         | 16 +++++----------
 .../15.2.3.3-4-215.js                         | 16 +++++----------
 .../15.2.3.3-4-216.js                         | 16 +++++----------
 .../15.2.3.3-4-217.js                         | 16 +++++----------
 .../15.2.3.3-4-218.js                         | 16 +++++----------
 .../15.2.3.3-4-219.js                         | 16 +++++----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-22.js | 15 +++++---------
 .../15.2.3.3-4-220.js                         | 16 +++++----------
 .../15.2.3.3-4-221.js                         | 16 +++++----------
 .../15.2.3.3-4-222.js                         | 16 +++++----------
 .../15.2.3.3-4-223.js                         |  6 +-----
 .../15.2.3.3-4-225.js                         |  6 +-----
 .../15.2.3.3-4-227.js                         |  6 +-----
 .../15.2.3.3-4-229.js                         |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-4-23.js | 15 +++++---------
 .../15.2.3.3-4-231.js                         |  6 +-----
 .../15.2.3.3-4-233.js                         |  6 +-----
 .../15.2.3.3-4-235.js                         |  6 +-----
 .../15.2.3.3-4-237.js                         |  6 +-----
 .../15.2.3.3-4-239.js                         |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-4-24.js | 15 +++++---------
 .../15.2.3.3-4-241.js                         |  6 +-----
 .../15.2.3.3-4-243.js                         |  6 +-----
 .../15.2.3.3-4-245.js                         |  6 +-----
 .../15.2.3.3-4-247.js                         |  6 +-----
 .../15.2.3.3-4-248.js                         |  6 +-----
 .../15.2.3.3-4-249.js                         |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-4-25.js | 15 +++++---------
 .../15.2.3.3-4-250.js                         |  6 +-----
 .../getOwnPropertyDescriptor/15.2.3.3-4-26.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-27.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-28.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-29.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-3.js  | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-30.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-31.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-32.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-33.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-34.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-35.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-36.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-37.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-38.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-39.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-4.js  | 18 ++++++-----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-40.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-41.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-42.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-43.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-44.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-45.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-46.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-47.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-48.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-49.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-5.js  | 18 ++++++-----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-50.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-51.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-52.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-53.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-54.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-55.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-56.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-57.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-58.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-59.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-6.js  | 18 ++++++-----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-60.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-61.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-62.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-63.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-64.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-65.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-66.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-67.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-68.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-69.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-7.js  | 18 ++++++-----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-70.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-71.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-72.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-73.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-75.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-76.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-77.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-78.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-79.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-8.js  | 18 ++++++-----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-80.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-81.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-82.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-84.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-85.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-86.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-88.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-89.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-9.js  | 18 ++++++-----------
 .../getOwnPropertyDescriptor/15.2.3.3-4-90.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-91.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-92.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-93.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-94.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-96.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-97.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-98.js | 15 +++++---------
 .../getOwnPropertyDescriptor/15.2.3.3-4-99.js | 15 +++++---------
 291 files changed, 1143 insertions(+), 2587 deletions(-)

diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-1.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-1.js
index 76bc2de0bb..0e9a9b3506 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-1.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-1.js
@@ -4,12 +4,6 @@
 /*---
 es5id: 15.2.3.3-0-1
 description: Object.getOwnPropertyDescriptor must exist as a function
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-  if (typeof(Object.getOwnPropertyDescriptor) === "function") {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(typeof(Object.getOwnPropertyDescriptor), "function", 'typeof(Object.getOwnPropertyDescriptor)');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-2.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-2.js
index 1028ef7990..ca8ea579ec 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-2.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-0-2.js
@@ -6,12 +6,6 @@ es5id: 15.2.3.3-0-2
 description: >
     Object.getOwnPropertyDescriptor must exist as a function taking 2
     parameters
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-  if (Object.getOwnPropertyDescriptor.length === 2) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(Object.getOwnPropertyDescriptor.length, 2, 'Object.getOwnPropertyDescriptor.length');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-3.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-3.js
index ddff2a7bac..580a6811b7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-3.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-3.js
@@ -6,11 +6,6 @@ es5id: 15.2.3.3-1-3
 description: >
     Object.getOwnPropertyDescriptor - TypeError is not thrown when
     first param is a boolean
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     Object.getOwnPropertyDescriptor(true, "foo");
-    return true;
-}
-runTestCase(testcase);
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-4.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-4.js
index 9a7ba3e54f..f11a5206e0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-4.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-4.js
@@ -6,11 +6,6 @@ es5id: 15.2.3.3-1-4
 description: >
     Object.getOwnPropertyDescriptor - TypeError is not thrown when
     first param is a number
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     Object.getOwnPropertyDescriptor(-2, "foo");
-    return true;
-}
-runTestCase(testcase);
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1.js
index 9be2f0e215..b2713da646 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1.js
@@ -6,11 +6,6 @@ es5id: 15.2.3.3-1
 description: >
     Object.getOwnPropertyDescriptor does not throw TypeError if type
     of first param is not Object
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     Object.getOwnPropertyDescriptor(0, "foo");
-    return true;
-}
-runTestCase(testcase);
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-1.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-1.js
index 815781b4b2..579f005bf3 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-1.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-1.js
@@ -6,14 +6,9 @@ es5id: 15.2.3.3-2-1
 description: >
     Object.getOwnPropertyDescriptor returns undefined for undefined
     property name
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     var o = {};
     var desc = Object.getOwnPropertyDescriptor(o, undefined);
-    if (desc === undefined) {
-      return true;
-    }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc, undefined, 'desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-10.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-10.js
index 18d1007956..51c962ec84 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-10.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-10.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-10
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is -0)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "0": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, -0);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-11.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-11.js
index ca8936c082..6096a9edd7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-11.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-11.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-11
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is positive number)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "30": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 30);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-12.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-12.js
index ceecd8559b..dd07bbf9d4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-12.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-12.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-12
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is negative number)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "-20": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, -20);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-13.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-13.js
index cdd9bbe5e6..aaf67dc7ea 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-13.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-13.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-13
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is Infinity)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "Infinity": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, Infinity);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-14.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-14.js
index a33eaf8dfb..4ec76de3f5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-14.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-14.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-14
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is +Infinity)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "Infinity": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, +Infinity);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-15.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-15.js
index 7ed0a7f704..5550e02a12 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-15.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-15.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-15
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is -Infinity)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "-Infinity": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, -Infinity);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-16.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-16.js
index 4e714cc858..9806a60dc2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-16.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-16.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-16
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1(following 20 zeros))
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "100000000000000000000": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 100000000000000000000);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-17.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-17.js
index 1e10bd9f5c..e665e5f7be 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-17.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-17.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-17
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1(following 21 zeros))
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1e+21": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1000000000000000000000);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-18.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-18.js
index d841047ffe..52629a60e0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-18.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-18.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-18
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1(following 22 zeros))
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1e+22": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 10000000000000000000000);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-19.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-19.js
index aa2b652ed1..2efc16d3a2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-19.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-19.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-19
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1e+20)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "100000000000000000000": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1e+20);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-2.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-2.js
index e945dbae1e..ec8e546878 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-2.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-2.js
@@ -6,14 +6,9 @@ es5id: 15.2.3.3-2-2
 description: >
     Object.getOwnPropertyDescriptor returns undefined for null
     property name
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     var o = {};
     var desc = Object.getOwnPropertyDescriptor(o, null);
-    if (desc === undefined) {
-      return true;
-    }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc, undefined, 'desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-20.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-20.js
index 3c5a8ef8b1..b2cc6480bf 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-20.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-20.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-20
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to string (value is 1e+21)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1e+21": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1e+21);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-21.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-21.js
index 6df59ba52d..a11547398b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-21.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-21.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-21
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1e+22)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1e+22": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1e+22);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-22.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-22.js
index 6a1c198799..80cbf6f4ee 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-22.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-22.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-22
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 0.000001)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "0.000001": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 0.000001);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-23.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-23.js
index cf92865c49..2398ebc574 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-23.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-23.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-23
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 0.0000001)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1e-7": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 0.0000001);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-24.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-24.js
index 0f4c9abb8e..b3cf0bb3c5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-24.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-24.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-24
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 0.00000001)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1e-8": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 0.00000001);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-25.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-25.js
index 90e7588063..cab2b57b43 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-25.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-25.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-25
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1e-7)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1e-7": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1e-7);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-26.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-26.js
index a3694a895c..2b096d817a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-26.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-26.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-26
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1e-6)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "0.000001": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1e-6);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-27.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-27.js
index d03264f2be..9cda3a078d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-27.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-27.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-27
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 1e-5)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "0.00001": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1e-5);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-28.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-28.js
index 0387fb63f8..907ef59417 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-28.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-28.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-28
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is an integer that
     converts to a string (value is 123)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "123": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 123);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-29.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-29.js
index 2d7bed6688..3450595896 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-29.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-29.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-29
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a decimal that
     converts to a string (value is 123.456)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "123.456": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 123.456);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-3.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-3.js
index 23f98e9db3..0d6b390443 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-3.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-3.js
@@ -4,15 +4,12 @@
 /*---
 es5id: 15.2.3.3-2-3
 description: Object.getOwnPropertyDescriptor - argument 'P' is undefined
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "undefined": 1 };
 
         var desc1 = Object.getOwnPropertyDescriptor(obj, undefined);
         var desc2 = Object.getOwnPropertyDescriptor(obj, "undefined");
 
-        return desc1.value === 1 && desc2.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc1.value, 1, 'desc1.value');
+assert.sameValue(desc2.value, 1, 'desc2.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-30.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-30.js
index 77cafa54f4..765ffb5844 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-30.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-30.js
@@ -6,14 +6,11 @@ es5id: 15.2.3.3-2-30
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 100000000000000000000.123)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "100000000000000000000": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 100000000000000000000.123);
 
-        return typeof desc !== "undefined" && desc.value === 1;
-    }
-runTestCase(testcase);
+assert(typeof desc !== "undefined", 'typeof desc !== "undefined" !== true');
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-31.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-31.js
index 1b06f55c3f..6012c8bc19 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-31.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-31.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-31
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 123.1234567)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "123.1234567": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 123.1234567);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-32.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-32.js
index 53e886b9e7..e3769e7bdb 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-32.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-32.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-32
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is applied to an
     empty string
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "");
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-33.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-33.js
index 5e965d8f95..15f3eb2ae9 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-33.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-33.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-33
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is applied to
     string 'AB  \cd'
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "AB\n\\cd": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "AB\n\\cd");
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-34.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-34.js
index c7a8c935ed..e6eb6681e5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-34.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-34.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-34
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is applied to
     string 'undefined'
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "undefined": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "undefined");
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-35.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-35.js
index 815ee9bdef..d0de7e71ee 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-35.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-35.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-35
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is applied to
     string 'null'
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "null": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "null");
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-36.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-36.js
index 72365e3767..e8fa1a1640 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-36.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-36.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-36
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is applied to
     string '123���¦�cd'
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "123���¦�cd": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "123���¦�cd");
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-37.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-37.js
index 44dd472b15..8fe16690bd 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-37.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-37.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-37
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is applied to
     string '1'
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 1);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-38.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-38.js
index 855ec7182a..6d3ae01351 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-38.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-38.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-38
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is an array that
     converts to a string
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "1": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, [1]);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-39.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-39.js
index cc755566c4..92c9d4f620 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-39.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-39.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-39
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a String Object
     that converts to a string
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "Hello": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, new String("Hello"));
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-4.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-4.js
index baa55f2a0c..9cdca680fb 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-4.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-4.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-4
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is null that
     converts to string 'null'
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "null": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, null);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-40.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-40.js
index ed4aef702a..d810506921 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-40.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-40.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-40
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a Boolean Object
     that converts to a string
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "true": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, new Boolean(true));
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-41.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-41.js
index a465304c5f..88ab0b4c4e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-41.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-41.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-41
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a Number Object
     that converts to a string
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "123": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, new Number(123));
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-42.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-42.js
index ce284a69b3..ecc16066c4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-42.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-42.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.3-2-42
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is an object which
     has an own toString method
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "abc": 1 };
 
         var ownProp = {
@@ -20,6 +18,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, ownProp);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-43.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-43.js
index 97cd703cbc..fbfb42f510 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-43.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-43.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.3-2-43
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is an object which
     has an own valueOf method
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "[object Object]": 1, "abc" : 2 };
 
         var ownProp = {
@@ -20,6 +18,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, ownProp);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-44.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-44.js
index a41b1818eb..115f34333b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-44.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-44.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - argument 'P' is an object that
     has an own toString method that returns an object and toValue
     method that returns a primitive value
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "abc": 1 };
         var valueOfAccessed = false;
         var toStringAccessed = false;
@@ -28,6 +26,6 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, ownProp);
 
-        return desc.value === 1 && valueOfAccessed && toStringAccessed;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
+assert(valueOfAccessed, 'valueOfAccessed !== true');
+assert(toStringAccessed, 'toStringAccessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-45.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-45.js
index 87ce669e80..aa318dc2f6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-45.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-45.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.3-2-45
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is an object which
     has an own toString and valueOf method
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "bbq": 1, "abc": 2 };
         var valueOfAccessed = false;
 
@@ -25,6 +23,5 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, ownProp);
 
-        return desc.value === 1 && !valueOfAccessed;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
+assert.sameValue(valueOfAccessed, false, 'valueOfAccessed');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-47.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-47.js
index d681477e7e..f07c6f385d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-47.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-47.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - uses inherited toString method
     when 'P' is an object with an own valueOf and inherited toString
     methods
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var proto = {};
         var valueOfAccessed = false;
         var toStringAccessed = false;
@@ -31,6 +29,6 @@ function testcase() {
         var obj = { "10": "length1", "test": "length2" };
         var desc = Object.getOwnPropertyDescriptor(obj, child);
 
-        return desc.value === "length2" && toStringAccessed && !valueOfAccessed;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "length2", 'desc.value');
+assert(toStringAccessed, 'toStringAccessed !== true');
+assert.sameValue(valueOfAccessed, false, 'valueOfAccessed');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-5.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-5.js
index 92c775642a..5a332dfaae 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-5.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-5.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-5
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose
     value is false
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "false": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, false);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-6.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-6.js
index a022513b7a..66f9b1dd6d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-6.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-6.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-6
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose
     value is true
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "true": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, true);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-7.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-7.js
index 6321db6c96..5077f4049e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-7.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-7.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-7
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is NaN)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "NaN": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, NaN);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-8.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-8.js
index 08b7014ea6..0b38934c20 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-8.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-8.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-8
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is 0)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "0": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, 0);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-9.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-9.js
index 78ac4e7326..88bd6bda1a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-9.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-9.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-2-9
 description: >
     Object.getOwnPropertyDescriptor - argument 'P' is a number that
     converts to a string (value is +0)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "0": 1 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, +0);
 
-        return desc.value === 1;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, 1, 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-1.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-1.js
index 7b123b8ffd..cb66bc4f4f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-1.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-1.js
@@ -4,17 +4,12 @@
 /*---
 es5id: 15.2.3.3-3-1
 description: Object.getOwnPropertyDescriptor - 'P' is own data property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var obj = {
             property: "ownDataProperty"
         };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.value === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "ownDataProperty", 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-10.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-10.js
index bab5bcb63d..7246259096 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-10.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-10.js
@@ -4,17 +4,12 @@
 /*---
 es5id: 15.2.3.3-3-10
 description: Object.getOwnPropertyDescriptor - 'P' is not an existing property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var obj = {
             property: "ownDataProperty"
         };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "propertyNonExist");
 
-        return typeof desc === "undefined";
-    }
-runTestCase(testcase);
+assert.sameValue(typeof desc, "undefined", 'typeof desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-13.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-13.js
index b3306779e1..2640e9092a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-13.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-13.js
@@ -6,17 +6,15 @@ es5id: 15.2.3.3-3-13
 description: >
     Object.getOwnPropertyDescriptor applied to the Arguments object
     which implements its own property get method
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var arg = (function () {
             return arguments;
         }("ownProperty", true));
 
         var desc = Object.getOwnPropertyDescriptor(arg, "0");
 
-        return desc.value === "ownProperty" && desc.writable === true && desc.enumerable === true && desc.configurable === true;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "ownProperty", 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, true, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-14.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-14.js
index 3119ef5424..d6fce8e890 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-14.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-14.js
@@ -6,15 +6,10 @@ es5id: 15.2.3.3-3-14
 description: >
     Object.getOwnPropertyDescriptor applied to a String object which
     implements its own property get method
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var str = new String("123");
 
         var desc = Object.getOwnPropertyDescriptor(str, "2");
 
-        return desc.value === "3";
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "3", 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-15.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-15.js
index cd126daf52..3f12ff690e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-15.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-15.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.3-3-15
 description: >
     Object.getOwnPropertyDescriptor applied to a Function object which
     implements its own property get method
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var obj = function (a, b) {
             return a + b;
         };
@@ -18,6 +15,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "1");
 
-        return desc.value === "ownProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "ownProperty", 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-2.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-2.js
index 819d647af1..09f56f6dea 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-2.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-2.js
@@ -4,11 +4,8 @@
 /*---
 es5id: 15.2.3.3-3-2
 description: Object.getOwnPropertyDescriptor - 'P' is inherited data property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             property: "inheritedDataProperty"
         };
@@ -20,6 +17,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(child, "property");
 
-        return typeof desc === "undefined";
-    }
-runTestCase(testcase);
+assert.sameValue(typeof desc, "undefined", 'typeof desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-3.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-3.js
index a845b75188..930eccc68f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-3.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-3.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.3-3-3
 description: >
     Object.getOwnPropertyDescriptor - 'P' is own data property that
     overrides an inherited data property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             property: "inheritedDataProperty"
         };
@@ -23,6 +20,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(child, "property");
 
-        return desc.value === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "ownDataProperty", 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-4.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-4.js
index 78a4033139..a01c60d49d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-4.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-4.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.3-3-4
 description: >
     Object.getOwnPropertyDescriptor - 'P' is own data property that
     overrides an inherited accessor property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         Object.defineProperty(proto, "property", {
             get: function () {
@@ -30,6 +27,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(child, "property");
 
-        return desc.value === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "ownDataProperty", 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-5.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-5.js
index 8886a5652c..0baa73874a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-5.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-5.js
@@ -4,11 +4,8 @@
 /*---
 es5id: 15.2.3.3-3-5
 description: Object.getOwnPropertyDescriptor - 'P' is own accessor property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var obj = {};
         var fun = function () {
             return "ownAccessorProperty";
@@ -20,6 +17,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.get === fun;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.get, fun, 'desc.get');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-6.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-6.js
index b4b11b5268..c2e77346d0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-6.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-6.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.3-3-6
 description: >
     Object.getOwnPropertyDescriptor - 'P' is inherited accessor
     property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         var fun = function () {
             return "ownAccessorProperty";
@@ -27,6 +24,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(child, "property");
 
-        return typeof desc === "undefined";
-    }
-runTestCase(testcase);
+assert.sameValue(typeof desc, "undefined", 'typeof desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-7.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-7.js
index ed7a6e51fc..b8caeb90d4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-7.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-7.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.3-3-7
 description: >
     Object.getOwnPropertyDescriptor - 'P' is own accessor property
     that overrides an inherited data property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {
             property: "inheritedDataProperty"
         };
@@ -29,6 +26,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(child, "property");
 
-        return desc.get === fun;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.get, fun, 'desc.get');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-8.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-8.js
index 6e958918df..05e0bcd206 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-8.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-8.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.3-3-8
 description: >
     Object.getOwnPropertyDescriptor - 'P' is own accessor property
     that overrides an inherited accessor property
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var proto = {};
         Object.defineProperty(proto, "property", {
             get: function () {
@@ -33,6 +30,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(child, "property");
 
-        return desc.get === fun;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.get, fun, 'desc.get');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-9.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-9.js
index d39f43296a..c2f364066b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-9.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-3-9.js
@@ -6,11 +6,8 @@ es5id: 15.2.3.3-3-9
 description: >
     Object.getOwnPropertyDescriptor - 'P' is own accessor property
     without a get function
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-
         var obj = {};
         var fun = function () { };
         Object.defineProperty(obj, "property", {
@@ -20,6 +17,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.set === fun;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.set, fun, 'desc.set');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-1.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-1.js
index f72e3cace7..5a6ffb8f2e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-1.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-1.js
@@ -6,21 +6,16 @@ es5id: 15.2.3.3-4-1
 description: >
     Object.getOwnPropertyDescriptor returns an object representing a
     data desc for valid data valued properties
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     var o = {};
     o["foo"] = 101;
 
     var desc = Object.getOwnPropertyDescriptor(o, "foo");
-    if (desc.value === 101 &&
-        desc.enumerable === true &&
-        desc.writable === true &&
-        desc.configurable === true &&
-        !desc.hasOwnProperty("get") &&
-        !desc.hasOwnProperty("set")) {
-      return true;
-    }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, 101, 'desc.value');
+assert.sameValue(desc.enumerable, true, 'desc.enumerable');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty("get"), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty("set"), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-10.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-10.js
index 95c7740f7d..58a828328a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-10.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-10.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-10
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.decodeURIComponent)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global,  "decodeURIComponent");
-  if (desc.value === global.decodeURIComponent &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.decodeURIComponent, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-100.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-100.js
index ab801b4a07..78551fec91 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-100.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-100.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-100
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.atan2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "atan2");
-  if (desc.value === Math.atan2 &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.atan2, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-101.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-101.js
index b87ed0be85..dfdb37d1b7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-101.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-101.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-101
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.ceil)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "ceil");
-  if (desc.value === Math.ceil &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.ceil, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-102.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-102.js
index 304b90fa22..302bc798e6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-102.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-102.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-102
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.cos)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "cos");
-  if (desc.value === Math.cos &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.cos, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-103.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-103.js
index 0cf0a618d0..57806ffe6f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-103.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-103.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-103
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.exp)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "exp");
-  if (desc.value === Math.exp &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.exp, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-104.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-104.js
index 5ab93a20e8..66f69b55ec 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-104.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-104.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-104
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.floor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "floor");
-  if (desc.value === Math.floor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.floor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-105.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-105.js
index fef7fcc63c..5643e8feba 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-105.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-105.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-105
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.log)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "log");
-  if (desc.value === Math.log &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.log, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-106.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-106.js
index 29e8d83924..9db5008435 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-106.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-106.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-106
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.max)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "max");
-  if (desc.value === Math.max &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.max, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-107.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-107.js
index e055ce7f8c..9df5a48126 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-107.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-107.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-107
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.min)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "min");
-  if (desc.value === Math.min &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.min, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-108.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-108.js
index e2df653eeb..fe1004579a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-108.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-108.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-108
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.pow)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "pow");
-  if (desc.value === Math.pow &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.pow, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-109.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-109.js
index 6830937fa2..8001e1dd65 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-109.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-109.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-109
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.random)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "random");
-  if (desc.value === Math.random &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.random, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-11.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-11.js
index 11450e1737..49f25de6d5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-11.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-11.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-11
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.encodeURIComponent)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global,  "encodeURIComponent");
-  if (desc.value === global.encodeURIComponent &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.encodeURIComponent, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-110.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-110.js
index 87681346cb..8410bc9687 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-110.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-110.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-110
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.round)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "round");
-  if (desc.value === Math.round &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.round, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-111.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-111.js
index c5bd55cd96..8d7a89f556 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-111.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-111.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-111
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.sin)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "sin");
-  if (desc.value === Math.sin &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.sin, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-112.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-112.js
index 7794473a53..445f7adb06 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-112.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-112.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-112
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.sqrt)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "sqrt");
-  if (desc.value === Math.sqrt &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.sqrt, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-113.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-113.js
index 3eb8aac29c..c4d1aecc83 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-113.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-113.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-113
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.tan)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "tan");
-  if (desc.value === Math.tan &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.tan, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-114.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-114.js
index 3bca6a675b..e111b361a0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-114.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-114.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-114
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.parse)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date, "parse");
-  if (desc.value === Date.parse &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.parse, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-115.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-115.js
index 75239221af..7cc8f4b450 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-115.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-115.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-115
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.UTC)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date, "UTC");
-  if (desc.value === Date.UTC &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.UTC, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-116.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-116.js
index 823adb72be..023c9a9ef1 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-116.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-116.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-116
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "constructor");
-  if (desc.value === Date.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-117.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-117.js
index addca6cce8..bc009fc36d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-117.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-117.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-117
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getTime)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getTime");
-  if (desc.value === Date.prototype.getTime &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getTime, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-118.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-118.js
index f662d50aae..1570586260 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-118.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-118.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-118
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getTimezoneOffset)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getTimezoneOffset");
-  if (desc.value === Date.prototype.getTimezoneOffset &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getTimezoneOffset, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-120.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-120.js
index 2baa7d8c74..2915ede2a3 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-120.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-120.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-120
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getFullYear)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getFullYear");
-  if (desc.value === Date.prototype.getFullYear &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getFullYear, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-121.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-121.js
index 26546adad1..4bd159bf5b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-121.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-121.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-121
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getMonth)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getMonth");
-  if (desc.value === Date.prototype.getMonth &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getMonth, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-122.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-122.js
index a8929e4b5d..6516d89177 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-122.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-122.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-122
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getDate)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getDate");
-  if (desc.value === Date.prototype.getDate &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getDate, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-123.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-123.js
index 8905d889a4..421ca744e1 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-123.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-123.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-123
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getDay)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getDay");
-  if (desc.value === Date.prototype.getDay &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getDay, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-124.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-124.js
index a3555164a2..789e7ba064 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-124.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-124.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-124
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getHours)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getHours");
-  if (desc.value === Date.prototype.getHours &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getHours, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-125.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-125.js
index 53caa35b2e..b6dcb8c6bc 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-125.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-125.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-125
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getMinutes)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getMinutes");
-  if (desc.value === Date.prototype.getMinutes &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getMinutes, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-126.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-126.js
index c7497d982e..4d315aca02 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-126.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-126.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-126
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getSeconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getSeconds");
-  if (desc.value === Date.prototype.getSeconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getSeconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-127.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-127.js
index 2ce33387d1..ec29ff4607 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-127.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-127.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-127
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getMilliseconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getMilliseconds");
-  if (desc.value === Date.prototype.getMilliseconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getMilliseconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-128.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-128.js
index ca24446580..4df71b5a70 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-128.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-128.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-128
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCFullYear)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCFullYear");
-  if (desc.value === Date.prototype.getUTCFullYear &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCFullYear, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-129.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-129.js
index 97cec5db9d..00c26597d2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-129.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-129.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-129
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCMonth)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCMonth");
-  if (desc.value === Date.prototype.getUTCMonth &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCMonth, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-130.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-130.js
index abf33e8bca..b5ff8f4492 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-130.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-130.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-130
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCDate)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCDate");
-  if (desc.value === Date.prototype.getUTCDate &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCDate, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-131.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-131.js
index facf0f6f6e..ce2f09bf87 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-131.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-131.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-131
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCDay)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCDay");
-  if (desc.value === Date.prototype.getUTCDay &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCDay, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-132.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-132.js
index 36e86825ba..5f6d6e8055 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-132.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-132.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-132
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCHours)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCHours");
-  if (desc.value === Date.prototype.getUTCHours &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCHours, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-133.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-133.js
index ddb08b6dd7..458a9962a7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-133.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-133.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-133
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCMinutes)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCMinutes");
-  if (desc.value === Date.prototype.getUTCMinutes &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCMinutes, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-134.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-134.js
index 51ae1d71f0..0b21982757 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-134.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-134.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-134
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCSeconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCSeconds");
-  if (desc.value === Date.prototype.getUTCSeconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCSeconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-135.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-135.js
index f2f821d075..2859d423c3 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-135.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-135.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-135
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.getUTCMilliseconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "getUTCMilliseconds");
-  if (desc.value === Date.prototype.getUTCMilliseconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.getUTCMilliseconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-136.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-136.js
index f285007317..3e8f047047 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-136.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-136.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-136
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setTime)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setTime");
-  if (desc.value === Date.prototype.setTime &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setTime, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-138.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-138.js
index d3305df288..e0346638aa 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-138.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-138.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-138
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setFullYear)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setFullYear");
-  if (desc.value === Date.prototype.setFullYear &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setFullYear, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-139.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-139.js
index 2111048d0b..feac0f29d8 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-139.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-139.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-139
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setMonth)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setMonth");
-  if (desc.value === Date.prototype.setMonth &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setMonth, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-14.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-14.js
index cc2317acfb..5b24001616 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-14.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-14.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-14
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.getPrototypeOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "getPrototypeOf");
-  if (desc.value === Object.getPrototypeOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.getPrototypeOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-140.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-140.js
index 699188fb30..9b10d08003 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-140.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-140.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-140
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setDate)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setDate");
-  if (desc.value === Date.prototype.setDate &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setDate, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-141.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-141.js
index cde501ff4a..0044448d2a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-141.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-141.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-141
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setHours)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setHours");
-  if (desc.value === Date.prototype.setHours &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setHours, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-142.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-142.js
index b6b1757013..fd380809e0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-142.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-142.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-142
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setMinutes)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setMinutes");
-  if (desc.value === Date.prototype.setMinutes &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setMinutes, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-143.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-143.js
index a597899dad..81c76f8bdb 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-143.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-143.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-143
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setSeconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setSeconds");
-  if (desc.value === Date.prototype.setSeconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setSeconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-144.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-144.js
index 8169615201..211b12fd7b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-144.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-144.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-144
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setMilliseconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setMilliseconds");
-  if (desc.value === Date.prototype.setMilliseconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setMilliseconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-145.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-145.js
index 3fe7f3d7ae..72a228dc0f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-145.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-145.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-145
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setUTCFullYear)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setUTCFullYear");
-  if (desc.value === Date.prototype.setUTCFullYear &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setUTCFullYear, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-146.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-146.js
index a92647d5ca..6c0fd95aa0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-146.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-146.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-146
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setUTCMonth)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setUTCMonth");
-  if (desc.value === Date.prototype.setUTCMonth &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setUTCMonth, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-147.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-147.js
index bb24ab9f7d..91dd4ffa9f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-147.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-147.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-147
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setUTCDate)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setUTCDate");
-  if (desc.value === Date.prototype.setUTCDate &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setUTCDate, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-148.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-148.js
index db6c47f6c9..7ae2526102 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-148.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-148.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-148
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setUTCHours)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setUTCHours");
-  if (desc.value === Date.prototype.setUTCHours &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setUTCHours, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-149.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-149.js
index 36d1d161b5..122df12b7a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-149.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-149.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-149
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setUTCMinutes)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setUTCMinutes");
-  if (desc.value === Date.prototype.setUTCMinutes &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setUTCMinutes, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-15.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-15.js
index 58235aceae..75f7919ce2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-15.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-15.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-15
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.getOwnPropertyDescriptor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "getOwnPropertyDescriptor");
-  if (desc.value === Object.getOwnPropertyDescriptor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.getOwnPropertyDescriptor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-150.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-150.js
index 410ec67d82..68f15d923c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-150.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-150.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-150
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setUTCSeconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setUTCSeconds");
-  if (desc.value === Date.prototype.setUTCSeconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setUTCSeconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-151.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-151.js
index dff94438f0..3bf72cdb34 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-151.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-151.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-151
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.setUTCMilliseconds)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "setUTCMilliseconds");
-  if (desc.value === Date.prototype.setUTCMilliseconds &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.setUTCMilliseconds, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-152.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-152.js
index 81db4f0962..ac79016a3f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-152.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-152.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-152
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toLocaleString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toLocaleString");
-  if (desc.value === Date.prototype.toLocaleString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toLocaleString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-153.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-153.js
index 4be9d41b77..3676e7f497 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-153.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-153.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-153
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toString");
-  if (desc.value === Date.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-154.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-154.js
index 5b90395065..b64b5f2149 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-154.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-154.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-154
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toUTCString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toUTCString");
-  if (desc.value === Date.prototype.toUTCString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toUTCString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-156.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-156.js
index dc68a94323..273256a21c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-156.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-156.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-156
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toTimeString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toTimeString");
-  if (desc.value === Date.prototype.toTimeString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toTimeString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-157.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-157.js
index 456a32c10d..fc30bbdd0d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-157.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-157.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-157
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toDateString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toDateString");
-  if (desc.value === Date.prototype.toDateString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toDateString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-158.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-158.js
index 0e30dad98a..b769536862 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-158.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-158.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-158
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toLocaleDateString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toLocaleDateString");
-  if (desc.value === Date.prototype.toLocaleDateString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toLocaleDateString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-159.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-159.js
index f73106c27b..06c70b3b4d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-159.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-159.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-159
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toLocaleTimeString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toLocaleTimeString");
-  if (desc.value === Date.prototype.toLocaleTimeString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toLocaleTimeString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-16.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-16.js
index f0c0701303..78e8b7f8af 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-16.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-16.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-16
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.getOwnPropertyNames)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "getOwnPropertyNames");
-  if (desc.value === Object.getOwnPropertyNames &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.getOwnPropertyNames, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-160.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-160.js
index 48b7e3c835..18a6dc0589 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-160.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-160.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-160
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.valueOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "valueOf");
-  if (desc.value === Date.prototype.valueOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.valueOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-161.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-161.js
index 24cb99755d..1d3cf47cdc 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-161.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-161.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-161
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toISOString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toISOString");
-  if (desc.value === Date.prototype.toISOString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toISOString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-162.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-162.js
index a5f2dd39aa..1bd2da199e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-162.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-162.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-162
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Date.prototype.toJSON)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date.prototype, "toJSON");
-  if (desc.value === Date.prototype.toJSON &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Date.prototype.toJSON, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-163.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-163.js
index a55f285dc5..717ba8b69f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-163.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-163.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-163
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (RegExp.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "constructor");
-  if (desc.value === RegExp.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, RegExp.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-165.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-165.js
index 1327bde311..387f8b6b00 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-165.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-165.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-165
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (RegExp.prototype.exec)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "exec");
-  if (desc.value === RegExp.prototype.exec &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, RegExp.prototype.exec, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-166.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-166.js
index dc5191d0c1..adaffc79e2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-166.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-166.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-166
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (RegExp.prototype.test)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "test");
-  if (desc.value === RegExp.prototype.test &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, RegExp.prototype.test, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-167.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-167.js
index cc1da7b430..03a4174656 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-167.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-167.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-167
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (RegExp.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "toString");
-  if (desc.value === RegExp.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, RegExp.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-168.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-168.js
index cfa5e8b5c5..90c3efd9a1 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-168.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-168.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-168
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Error.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Error.prototype, "constructor");
-  if (desc.value === Error.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Error.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-169.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-169.js
index 2bb4ba00e1..1e4890e17c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-169.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-169.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-169
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Error.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Error.prototype, "toString");
-  if (desc.value === Error.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Error.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-17.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-17.js
index f1ea7fbc56..1b2e42315d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-17.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-17.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-17
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.create)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "create");
-  if (desc.value === Object.create &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.create, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-170.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-170.js
index 963c0cf0dc..2deebcd6f7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-170.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-170.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-170
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (EvalError.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(EvalError.prototype, "constructor");
-  if (desc.value === EvalError.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, EvalError.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-171.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-171.js
index aae14313d0..f5de8176f4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-171.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-171.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-171
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (RangeError.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RangeError.prototype, "constructor");
-  if (desc.value === RangeError.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, RangeError.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-172.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-172.js
index 3d8074c995..e60eb6edc0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-172.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-172.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-172
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (ReferenceError.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(ReferenceError.prototype, "constructor");
-  if (desc.value === ReferenceError.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, ReferenceError.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-173.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-173.js
index 5e2d0a59a3..38702336b4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-173.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-173.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-173
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (SyntaxError.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(SyntaxError.prototype, "constructor");
-  if (desc.value === SyntaxError.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, SyntaxError.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-174.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-174.js
index c707857f2f..210e33fdf5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-174.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-174.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-174
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (TypeError.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(TypeError.prototype, "constructor");
-  if (desc.value === TypeError.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, TypeError.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-175.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-175.js
index df5d5b7eb2..e7a59840e0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-175.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-175.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-175
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (URIError.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(URIError.prototype, "constructor");
-  if (desc.value === URIError.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, URIError.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-176.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-176.js
index 89a768c816..3cac6f215d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-176.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-176.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-176
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (JSON.stringify)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(JSON, "stringify");
-  if (desc.value === JSON.stringify &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, JSON.stringify, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-177.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-177.js
index a6dab6fd0f..52dfbd152c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-177.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-177.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-177
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (JSON.parse)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(JSON, "parse");
-  if (desc.value === JSON.parse &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, JSON.parse, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-178.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-178.js
index e389236716..9b3668eca8 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-178.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-178.js
@@ -6,22 +6,14 @@ es5id: 15.2.3.3-4-178
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Global.NaN)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   // in non-strict mode, 'this' is bound to the global object.
   var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(), "NaN");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
-  return false;
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-179.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-179.js
index c00291e2b8..2cad474cdf 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-179.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-179.js
@@ -6,22 +6,14 @@ es5id: 15.2.3.3-4-179
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Global.Infinity)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   // in non-strict mode, 'this' is bound to the global object.
   var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(),  "Infinity");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
-  return false;
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-18.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-18.js
index 10f05b7b39..d7ced8dabc 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-18.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-18.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-18
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.defineProperty)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "defineProperty");
-  if (desc.value === Object.defineProperty &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.defineProperty, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-180.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-180.js
index 203eca5170..9f73a8a376 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-180.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-180.js
@@ -6,22 +6,14 @@ es5id: 15.2.3.3-4-180
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Global.undefined)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   // in non-strict mode, 'this' is bound to the global object.
   var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(),  "undefined");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
-  return false;
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-182.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-182.js
index 4345bd90ad..33da0a40b6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-182.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-182.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-182
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Object.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-183.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-183.js
index 8220eaa59f..3501500ff9 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-183.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-183.js
@@ -6,15 +6,8 @@ es5id: 15.2.3.3-4-183
 description: >
     Object.getOwnPropertyDescriptor returns undefined for non-existent
     property (arguments_1) on built-in object (Function)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function, "arguments_1");
 
-  if (desc === undefined)
-    return true;
-  else
-    return false;  
- }
-runTestCase(testcase);
+assert.sameValue(desc, undefined, 'desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-184.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-184.js
index b2b46634c1..465abc4708 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-184.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-184.js
@@ -6,15 +6,8 @@ es5id: 15.2.3.3-4-184
 description: >
     Object.getOwnPropertyDescriptor returns undefined for non-existent
     property (caller) on built-in object (Math)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "caller");
 
-  if (desc === undefined)
-    return true;  
-  else
-    return false;
- }
-runTestCase(testcase);
+assert.sameValue(desc, undefined, 'desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-185.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-185.js
index 7a94d405d2..ce028abd73 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-185.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-185.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-185
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Function.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-186.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-186.js
index 7e59850b6a..157dc97c7d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-186.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-186.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-186
 description: >
     Object.getOwnPropertyDescriptor returns data desc for properties
     on built-ins (Function.length)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function, "length");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-187.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-187.js
index 607b0c2cf6..21c83658fe 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-187.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-187.js
@@ -6,20 +6,14 @@ es5id: 15.2.3.3-4-187
 description: >
     Object.getOwnPropertyDescriptor returns data desc for properties
     on built-ins (Function (instance).length)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var f = Function('return 42;');
 
   var desc = Object.getOwnPropertyDescriptor(f, "length");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-188.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-188.js
index f533063eee..31a6e9cfbf 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-188.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-188.js
@@ -6,12 +6,9 @@ es5id: 15.2.3.3-4-188
 description: >
     Object.getOwnPropertyDescriptor returns undefined for non-existent
     properties on built-ins (Function (instance).name)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var f = Function('return 42;');
   var desc = Object.getOwnPropertyDescriptor(f, "functionNameHopefullyDoesNotExist");
-  return desc === undefined;
- }
-runTestCase(testcase);
+
+assert.sameValue(desc, undefined, 'desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-189.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-189.js
index 1a6fbc8931..b7111c0fa5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-189.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-189.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-189
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Array.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-19.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-19.js
index e063a44e52..950f690bee 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-19.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-19.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-19
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.defineProperties)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "defineProperties");
-  if (desc.value === Object.defineProperties &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.defineProperties, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-190.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-190.js
index 8f292c5fa7..f190508dc7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-190.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-190.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-190
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (String.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-191.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-191.js
index b03f1a5358..4f351bf892 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-191.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-191.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-191
 description: >
     Object.getOwnPropertyDescriptor returns data desc for properties
     on built-ins (String.length)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String, "length");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-192.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-192.js
index 45dcc6b45a..e20fb56dc9 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-192.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-192.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-192
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (String (instance).length)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var s = new String("abc");
   var desc = Object.getOwnPropertyDescriptor(s, "length");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-193.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-193.js
index bdecafd858..b0e4b8e0bf 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-193.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-193.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-193
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Boolean.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Boolean, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-194.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-194.js
index c26303ed7e..41d92a8bf2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-194.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-194.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-194
 description: >
     Object.getOwnPropertyDescriptor returns data desc for properties
     on built-ins (Boolean.length)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Boolean, "length");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-195.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-195.js
index ed9e207ff2..96cca8650c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-195.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-195.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-195
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Number.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-196.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-196.js
index 89646bb8d5..c1b5a1fbb0 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-196.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-196.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-196
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Number.MAX_VALUE)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number, "MAX_VALUE");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-197.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-197.js
index db4dad93bc..e09636d451 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-197.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-197.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-197
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Number.MIN_VALUE)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number, "MIN_VALUE");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-198.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-198.js
index fae7f8838f..660e7d41bc 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-198.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-198.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-198
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Number.NaN)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number, "NaN");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-199.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-199.js
index d166788455..1f02fbb74c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-199.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-199.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-199
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Number.NEGATIVE_INFINITY)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number, "NEGATIVE_INFINITY");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-2.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-2.js
index 6032c0dba1..57fbdce5b9 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-2.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-2.js
@@ -6,15 +6,10 @@ es5id: 15.2.3.3-4-2
 description: >
     Object.getOwnPropertyDescriptor returns undefined for non-existent
     properties
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     var o = {};
 
     var desc = Object.getOwnPropertyDescriptor(o, "foo");
-    if (desc === undefined) {
-      return true;
-    }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc, undefined, 'desc');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-20.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-20.js
index f46f557802..1c444266c9 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-20.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-20.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-20
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.seal)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "seal");
-  if (desc.value === Object.seal &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.seal, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-200.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-200.js
index ab3d1f83b1..7cd42f388e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-200.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-200.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-200
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Number.POSITIVE_INFINITY)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number, "POSITIVE_INFINITY");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-201.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-201.js
index 439e292675..68bafbcb86 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-201.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-201.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-201
 description: >
     Object.getOwnPropertyDescriptor returns data desc for properties
     on built-ins (Number.length)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number, "length");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-202.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-202.js
index d06e845f85..5eb7df674f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-202.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-202.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-202
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.E)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "E");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-203.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-203.js
index 24dee1f732..2b203feb98 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-203.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-203.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-203
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.LN10)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "LN10");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-204.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-204.js
index 41b36e1e81..e91ce89ba2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-204.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-204.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-204
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.LN2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "LN2");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-205.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-205.js
index 274bfe7dad..703820573a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-205.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-205.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-205
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.LOG2E)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "LOG2E");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-206.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-206.js
index a1a03483a7..1025fa7ac8 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-206.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-206.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-206
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.LOG10E)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "LOG10E");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-207.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-207.js
index 0bfe4f624b..a311883b6d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-207.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-207.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-207
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.PI)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "PI");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-208.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-208.js
index 9cb59dbc6d..6134a81826 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-208.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-208.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-208
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.SQRT1_2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "SQRT1_2");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-209.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-209.js
index 0daebe82a2..df90c64898 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-209.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-209.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-209
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Math.SQRT2)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "SQRT2");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-21.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-21.js
index 020b65d030..0c062b3a38 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-21.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-21.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-21
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.freeze)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "freeze");
-  if (desc.value === Object.freeze &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.freeze, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-210.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-210.js
index 698bdfdc3e..57b44134e3 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-210.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-210.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-210
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Date.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Date, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-211.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-211.js
index 411e952b28..be1a29328f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-211.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-211.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-211
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (RegExp.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-212.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-212.js
index db114c71b7..38c6a0721a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-212.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-212.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-212
 description: >
     Object.getOwnPropertyDescriptor returns accessor desc for
     accessors on built-ins (RegExp.prototype.source)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "source");
 
-  if (desc.hasOwnProperty('writable') === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      typeof desc.get === 'function' &&
-      desc.set === undefined) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.hasOwnProperty('writable'), false, 'desc.hasOwnProperty("writable")');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(typeof desc.get, 'function', 'typeof desc.get');
+assert.sameValue(desc.set, undefined, 'desc.set');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-213.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-213.js
index 5868891ec8..f76fd78011 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-213.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-213.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-213
 description: >
     Object.getOwnPropertyDescriptor returns accessor desc for
     accessors on built-ins (RegExp.prototype.global)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "global");
 
-  if (desc.hasOwnProperty('writable') === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      typeof desc.get === 'function' &&
-      desc.set === undefined) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.hasOwnProperty('writable'), false, 'desc.hasOwnProperty("writable")');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(typeof desc.get, 'function', 'typeof desc.get');
+assert.sameValue(desc.set, undefined, 'desc.set');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-214.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-214.js
index f4d93c5cb7..53ee976e35 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-214.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-214.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-214
 description: >
     Object.getOwnPropertyDescriptor returns accessor desc for
     accessors on built-ins (RegExp.prototype.ignoreCase)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "ignoreCase");
 
-  if (desc.hasOwnProperty('writable') === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      typeof desc.get === 'function' &&
-      desc.set === undefined) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.hasOwnProperty('writable'), false, 'desc.hasOwnProperty("writable")');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(typeof desc.get, 'function', 'typeof desc.get');
+assert.sameValue(desc.set, undefined, 'desc.set');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-215.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-215.js
index 983b3b385b..524d5a9409 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-215.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-215.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-215
 description: >
     Object.getOwnPropertyDescriptor returns accessor desc for
     accessors on built-ins (RegExp.prototype.multiline)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "multiline");
 
-  if (desc.hasOwnProperty('writable') === false &&
-      desc.enumerable === false &&
-      desc.configurable === true &&
-      typeof desc.get === 'function' &&
-      desc.set === undefined) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.hasOwnProperty('writable'), false, 'desc.hasOwnProperty("writable")');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
+assert.sameValue(typeof desc.get, 'function', 'typeof desc.get');
+assert.sameValue(desc.set, undefined, 'desc.set');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-216.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-216.js
index 65f1ae4218..d78a100e2f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-216.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-216.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-216
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (Error.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Error, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-217.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-217.js
index 754a9fe908..96f15d285e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-217.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-217.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-217
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (EvalError.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(EvalError, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-218.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-218.js
index 6db4b77e55..9ee73cee50 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-218.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-218.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-218
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (RangeError.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(RangeError, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-219.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-219.js
index 98a6119ca3..3c480f1fe4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-219.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-219.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-219
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (ReferenceError.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(ReferenceError, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-22.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-22.js
index 42734603dd..78ad6671d4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-22.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-22.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-22
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.preventExtensions)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "preventExtensions");
-  if (desc.value === Object.preventExtensions &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.preventExtensions, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-220.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-220.js
index 3cfe046e7e..9472c9a6c1 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-220.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-220.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-220
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (SyntaxError.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(SyntaxError, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-221.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-221.js
index a1d6c45100..77a19e11ec 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-221.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-221.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-221
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (TypeError.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(TypeError, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-222.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-222.js
index 9b15146b21..26be6babdc 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-222.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-222.js
@@ -6,18 +6,12 @@ es5id: 15.2.3.3-4-222
 description: >
     Object.getOwnPropertyDescriptor returns data desc (all false) for
     properties on built-ins (URIError.prototype)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(URIError, "prototype");
 
-  if (desc.writable === false &&
-      desc.enumerable === false &&
-      desc.configurable === false &&
-      desc.hasOwnProperty('get') === false &&
-      desc.hasOwnProperty('set') === false) {
-    return true;
-  }
- }
-runTestCase(testcase);
+assert.sameValue(desc.writable, false, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
+assert.sameValue(desc.hasOwnProperty('get'), false, 'desc.hasOwnProperty("get")');
+assert.sameValue(desc.hasOwnProperty('set'), false, 'desc.hasOwnProperty("set")');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-223.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-223.js
index dd659ac892..14882f661e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-223.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-223.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-4-223
 description: >
     Object.getOwnPropertyDescriptor - ensure that 'value' property of
     returned object is data property with correct 'value' attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.value === "ownDataProperty";
-    }
-runTestCase(testcase);
+assert.sameValue(desc.value, "ownDataProperty", 'desc.value');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-225.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-225.js
index 7d24d41127..a0efcad801 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-225.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-225.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'value' property of
     returned object is data property with correct 'enumerable'
     attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
@@ -22,6 +20,4 @@ function testcase() {
             }
         }
 
-        return accessed;
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-227.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-227.js
index 4df2a95a38..bb608b3062 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-227.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-227.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-4-227
 description: >
     Object.getOwnPropertyDescriptor - ensure that 'writable' property
     of returned object is data property with correct 'value' attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.writable === true;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.writable, true, 'desc.writable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-229.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-229.js
index 7d155aef1e..667429b877 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-229.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-229.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'writable' property
     of returned object is data property with correct 'enumerable'
     attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
@@ -22,6 +20,4 @@ function testcase() {
             }
         }
 
-        return accessed;
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-23.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-23.js
index 42084f259d..ffb6f0a008 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-23.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-23.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-23
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.isSealed)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "isSealed");
-  if (desc.value === Object.isSealed &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.isSealed, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-231.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-231.js
index 22340b0570..a93538a55a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-231.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-231.js
@@ -7,14 +7,10 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'enumerable'
     property of returned object is data property with correct 'value'
     attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.enumerable === true;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.enumerable, true, 'desc.enumerable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-233.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-233.js
index bcca19e99f..8bffb2b625 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-233.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-233.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'enumerable'
     property of returned object is data property with correct
     'enumerable' attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
@@ -22,6 +20,4 @@ function testcase() {
             }
         }
 
-        return accessed;
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-235.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-235.js
index c85dc80d93..37c5c80d2c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-235.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-235.js
@@ -7,14 +7,10 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'configurable'
     property of returned object is data property with correct 'value'
     attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.configurable === true;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-237.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-237.js
index 479b66b357..1117ab125f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-237.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-237.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'configurable'
     property of returned object is data property with correct
     'enumerable' attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": "ownDataProperty" };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
@@ -22,6 +20,4 @@ function testcase() {
             }
         }
 
-        return accessed;
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-239.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-239.js
index b743f135a9..1216401670 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-239.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-239.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.3-4-239
 description: >
     Object.getOwnPropertyDescriptor - ensure that 'get' property of
     returned object is data property with correct 'value' attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = {};
         var fun = function () {
             return "ownDataProperty";
@@ -21,6 +19,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.get === fun;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.get, fun, 'desc.get');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-24.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-24.js
index 92692ab858..6fec737dc1 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-24.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-24.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-24
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.isFrozen)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "isFrozen");
-  if (desc.value === Object.isFrozen &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.isFrozen, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-241.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-241.js
index 586b4d6cd7..0f0ce28130 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-241.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-241.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'get' property of
     returned object is data property with correct 'enumerable'
     attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = {};
         var fun = function () {
             return "ownDataProperty";
@@ -29,6 +27,4 @@ function testcase() {
             }
         }
 
-        return accessed;
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-243.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-243.js
index f34380d931..6fbe775307 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-243.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-243.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.3-4-243
 description: >
     Object.getOwnPropertyDescriptor - ensure that 'set' property of
     returned object is data property with correct 'value' attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = {};
         var fun = function () {
             return "ownSetProperty";
@@ -21,6 +19,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc.set === fun;
-    }
-runTestCase(testcase);
+assert.sameValue(desc.set, fun, 'desc.set');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-245.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-245.js
index 5193716ca8..35d73454d2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-245.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-245.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - ensure that 'set' property of
     returned object is data property with correct 'enumerable'
     attribute
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = {};
         var fun = function () {
             return "ownSetProperty";
@@ -29,6 +27,4 @@ function testcase() {
             }
         }
 
-        return accessed;
-    }
-runTestCase(testcase);
+assert(accessed, 'accessed !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-247.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-247.js
index fec0c08458..06bd87e7ad 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-247.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-247.js
@@ -6,14 +6,10 @@ es5id: 15.2.3.3-4-247
 description: >
     Object.getOwnPropertyDescriptor - returned value is an instance of
     object
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = { "property": 100 };
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return desc instanceof Object;
-    }
-runTestCase(testcase);
+assert(desc instanceof Object, 'desc instanceof Object !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-248.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-248.js
index 9e99ea607c..210d9286c8 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-248.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-248.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - returned object contains the
     property 'value' if the value of property 'value' is not
     explicitly specified when defined by Object.defineProperty
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = {};
         Object.defineProperty(obj, "property", {
             writable: true,
@@ -19,6 +17,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return "value" in desc;
-    }
-runTestCase(testcase);
+assert("value" in desc, '"value" in desc !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-249.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-249.js
index 2b4dce2a26..e19f7efcea 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-249.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-249.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - returned object contains the
     property 'set' if the value of property 'set' is not explicitly
     specified when defined by Object.defineProperty.
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = {};
         Object.defineProperty(obj, "property", {
             get: function () { },
@@ -19,6 +17,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return "set" in desc;
-    }
-runTestCase(testcase);
+assert("set" in desc, '"set" in desc !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-25.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-25.js
index f162e99e22..6eadcabf30 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-25.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-25.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-25
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.isExtensible)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "isExtensible");
-  if (desc.value === Object.isExtensible &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.isExtensible, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-250.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-250.js
index 55d4eb0d54..f2863cbe82 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-250.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-250.js
@@ -7,10 +7,8 @@ description: >
     Object.getOwnPropertyDescriptor - returned object contains the
     property 'get' if the value of property 'get' is not explicitly
     specified when defined by Object.defineProperty.
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
         var obj = {};
         Object.defineProperty(obj, "property", {
             set: function () {},
@@ -19,6 +17,4 @@ function testcase() {
 
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
 
-        return "get" in desc;
-    }
-runTestCase(testcase);
+assert("get" in desc, '"get" in desc !== true');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-26.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-26.js
index 53a7cc6c61..5428c62a32 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-26.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-26.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-26
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.keys)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object, "keys");
-  if (desc.value === Object.keys &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.keys, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-27.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-27.js
index d7874f43aa..7b223ebdaa 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-27.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-27.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-27
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object.prototype, "constructor");
-  if (desc.value === Object.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-28.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-28.js
index 5ae0f3afc0..0c01763f65 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-28.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-28.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-28
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object.prototype, "toString");
-  if (desc.value === Object.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-29.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-29.js
index fdb3e00681..05b1775bfa 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-29.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-29.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-29
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.prototype.valueOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object.prototype, "valueOf");
-  if (desc.value === Object.prototype.valueOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.prototype.valueOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-3.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-3.js
index fd8f7d9aea..51507f70b5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-3.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-3.js
@@ -6,10 +6,8 @@ es5id: 15.2.3.3-4-3
 description: >
     Object.getOwnPropertyDescriptor returns an object representing an
     accessor desc for valid accessor properties
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
     var o = {};
 
     // dummy getter
@@ -19,11 +17,8 @@ function testcase() {
     Object.defineProperty(o, "foo", d);
 
     var desc = Object.getOwnPropertyDescriptor(o, "foo");
-    if (desc.get === getter &&
-        desc.set === undefined &&
-        desc.enumerable === false &&
-        desc.configurable === false) {
-      return true;
-    }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.get, getter, 'desc.get');
+assert.sameValue(desc.set, undefined, 'desc.set');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, false, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-30.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-30.js
index e7a77e6e5f..4b21dcaee5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-30.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-30.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-30
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.prototype.isPrototypeOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object.prototype, "isPrototypeOf");
-  if (desc.value === Object.prototype.isPrototypeOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.prototype.isPrototypeOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-31.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-31.js
index 39c1af5688..7d0c1791d6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-31.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-31.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-31
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.prototype.hasOwnProperty)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object.prototype, "hasOwnProperty");
-  if (desc.value === Object.prototype.hasOwnProperty &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.prototype.hasOwnProperty, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-32.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-32.js
index 97d26b2c9f..df0942fea7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-32.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-32.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-32
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.prototype.propertyIsEnumerable)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object.prototype, "propertyIsEnumerable");
-  if (desc.value === Object.prototype.propertyIsEnumerable &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.prototype.propertyIsEnumerable, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-33.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-33.js
index 92d5e4ed03..ce6709d7c3 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-33.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-33.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-33
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Object.prototype.toLocaleString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Object.prototype, "toLocaleString");
-  if (desc.value === Object.prototype.toLocaleString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Object.prototype.toLocaleString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-34.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-34.js
index 3fc6a6fc16..ee5c0a2f79 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-34.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-34.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-34
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Function.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function.prototype, "constructor");
-  if (desc.value === Function.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Function.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-35.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-35.js
index b023380dcf..f3032e9006 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-35.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-35.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-35
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Function.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
-  if (desc.value === Function.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Function.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-36.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-36.js
index aa09d9882f..eb0099b59e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-36.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-36.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-36
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Function.prototype.apply)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function.prototype, "apply");
-  if (desc.value === Function.prototype.apply &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Function.prototype.apply, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-37.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-37.js
index ced2b5d6ba..bd67212c33 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-37.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-37.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-37
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Function.prototype.call)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function.prototype, "call");
-  if (desc.value === Function.prototype.call &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Function.prototype.call, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-38.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-38.js
index eb1dba184c..4221bd930e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-38.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-38.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-38
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Function.prototype.bind)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Function.prototype, "bind");
-  if (desc.value === Function.prototype.bind &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Function.prototype.bind, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-39.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-39.js
index 836b62f4e4..88845ce6ca 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-39.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-39.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-39
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "constructor");
-  if (desc.value === Array.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-4.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-4.js
index 371e10d606..26c26fd7ed 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-4.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-4.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-4
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.eval)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global,  "eval");
-  if (desc.value === global.eval &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.eval, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-40.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-40.js
index d55dd1a168..41ff7c2ed9 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-40.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-40.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-40
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.concat)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "concat");
-  if (desc.value === Array.prototype.concat &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.concat, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-41.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-41.js
index 17f5084ca9..8371829404 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-41.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-41.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-41
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.join)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "join");
-  if (desc.value === Array.prototype.join &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.join, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-42.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-42.js
index 0e86655c9c..cc6ebd3373 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-42.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-42.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-42
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.reverse)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "reverse");
-  if (desc.value === Array.prototype.reverse &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.reverse, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-43.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-43.js
index ee0fb759cb..aeee8d512f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-43.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-43.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-43
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.slice)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "slice");
-  if (desc.value === Array.prototype.slice &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.slice, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-44.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-44.js
index cd85140e40..9203bfce74 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-44.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-44.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-44
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.sort)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "sort");
-  if (desc.value === Array.prototype.sort &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.sort, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-45.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-45.js
index f6afd8375f..50148ed31e 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-45.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-45.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-45
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "toString");
-  if (desc.value === Array.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-46.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-46.js
index 7e024a695b..ff1b0d9ed8 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-46.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-46.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-46
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.push)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "push");
-  if (desc.value === Array.prototype.push &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.push, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-47.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-47.js
index b483255f94..932f02c609 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-47.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-47.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-47
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.pop)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "pop");
-  if (desc.value === Array.prototype.pop &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.pop, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-48.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-48.js
index d96e76c3be..eded49311d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-48.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-48.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-48
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.shift)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "shift");
-  if (desc.value === Array.prototype.shift &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.shift, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-49.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-49.js
index 7f13b40c23..969af5e534 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-49.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-49.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-49
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.unshift)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "unshift");
-  if (desc.value === Array.prototype.unshift &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.unshift, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-5.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-5.js
index de15574643..fb442a0713 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-5.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-5.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-5
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.parseInt)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global,  "parseInt");
-  if (desc.value === global.parseInt &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.parseInt, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-50.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-50.js
index 8f10128496..c8edbe16dc 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-50.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-50.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-50
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.splice)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "splice");
-  if (desc.value === Array.prototype.splice &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.splice, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-51.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-51.js
index 0e7ec12640..ea44b8ff6f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-51.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-51.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-51
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.toLocaleString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "toLocaleString");
-  if (desc.value === Array.prototype.toLocaleString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.toLocaleString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-52.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-52.js
index 15098f9965..5081cc3735 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-52.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-52.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-52
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.indexOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "indexOf");
-  if (desc.value === Array.prototype.indexOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.indexOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-53.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-53.js
index 2a68f5af26..82c22d3166 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-53.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-53.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-53
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.lastIndexOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "lastIndexOf");
-  if (desc.value === Array.prototype.lastIndexOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.lastIndexOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-54.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-54.js
index 19864af4b2..04a7d7a2b4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-54.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-54.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-54
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.every)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "every");
-  if (desc.value === Array.prototype.every &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.every, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-55.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-55.js
index cef09d3cd3..993393559b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-55.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-55.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-55
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.some)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "some");
-  if (desc.value === Array.prototype.some &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.some, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-56.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-56.js
index a7addb9d87..02d6dc70f6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-56.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-56.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-56
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.forEach)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "forEach");
-  if (desc.value === Array.prototype.forEach &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.forEach, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-57.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-57.js
index 93f19f35ac..22bce1956f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-57.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-57.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-57
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.map)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "map");
-  if (desc.value === Array.prototype.map &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.map, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-58.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-58.js
index ef52606662..ccc1c60d1f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-58.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-58.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-58
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.filter)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "filter");
-  if (desc.value === Array.prototype.filter &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.filter, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-59.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-59.js
index 16d6ec7bb0..0f26101297 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-59.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-59.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-59
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.reduce)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "reduce");
-  if (desc.value === Array.prototype.reduce &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.reduce, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-6.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-6.js
index 19a7078018..f4287cf87d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-6.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-6.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-6
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.parseFloat)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global, "parseFloat");
-  if (desc.value === global.parseFloat &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.parseFloat, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-60.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-60.js
index a71b20a974..c1322e64c8 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-60.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-60.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-60
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Array.prototype.reduceRight)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Array.prototype, "reduceRight");
-  if (desc.value === Array.prototype.reduceRight &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Array.prototype.reduceRight, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-61.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-61.js
index fc9b089021..d01a7fad80 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-61.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-61.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-61
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.fromCharCode)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String, "fromCharCode");
-  if (desc.value === String.fromCharCode &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.fromCharCode, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-62.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-62.js
index cc6d020d07..0bdc7d40e4 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-62.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-62.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-62
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "constructor");
-  if (desc.value === String.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-63.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-63.js
index e65ca54d2d..f1cc351388 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-63.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-63.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-63
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.charAt)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "charAt");
-  if (desc.value === String.prototype.charAt &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.charAt, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-64.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-64.js
index 43ba1e6932..51b1254def 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-64.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-64.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-64
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.charCodeAt)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "charCodeAt");
-  if (desc.value === String.prototype.charCodeAt &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.charCodeAt, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-65.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-65.js
index 8085aabaf0..dae2b940f8 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-65.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-65.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-65
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.concat)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "concat");
-  if (desc.value === String.prototype.concat &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.concat, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-66.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-66.js
index 101427299f..ebc3efd6d2 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-66.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-66.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-66
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.indexOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "indexOf");
-  if (desc.value === String.prototype.indexOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.indexOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-67.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-67.js
index c5f2f0b4fb..9d6819d2d7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-67.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-67.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-67
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.lastIndexOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "lastIndexOf");
-  if (desc.value === String.prototype.lastIndexOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.lastIndexOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-68.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-68.js
index 1a69af4f00..cdd9626620 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-68.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-68.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-68
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.match)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "match");
-  if (desc.value === String.prototype.match &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.match, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-69.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-69.js
index 07e8a670e4..d1f0b5a916 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-69.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-69.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-69
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.replace)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "replace");
-  if (desc.value === String.prototype.replace &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.replace, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-7.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-7.js
index 37077cd038..ddeb2a079b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-7.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-7.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-7
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.isNaN)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global,  "isNaN");
-  if (desc.value === global.isNaN &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.isNaN, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-70.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-70.js
index 692ed9970a..5a3348774b 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-70.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-70.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-70
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.search)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "search");
-  if (desc.value === String.prototype.search &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.search, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-71.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-71.js
index b3f5b75ba1..20b8f3cd46 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-71.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-71.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-71
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.slice)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "slice");
-  if (desc.value === String.prototype.slice &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.slice, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-72.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-72.js
index d2010852ba..f3a6a9a484 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-72.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-72.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-72
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.split)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "split");
-  if (desc.value === String.prototype.split &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.split, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-73.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-73.js
index 7aa95043d0..a1b0a50734 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-73.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-73.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-73
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.substring)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "substring");
-  if (desc.value === String.prototype.substring &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.substring, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-75.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-75.js
index 423248f47e..6bfd04221f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-75.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-75.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-75
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.toLowerCase)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "toLowerCase");
-  if (desc.value === String.prototype.toLowerCase &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.toLowerCase, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-76.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-76.js
index cd1d98dd2a..4044ddd372 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-76.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-76.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-76
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "toString");
-  if (desc.value === String.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-77.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-77.js
index 17a34a42bc..63118de085 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-77.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-77.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-77
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.toUpperCase)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "toUpperCase");
-  if (desc.value === String.prototype.toUpperCase &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.toUpperCase, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-78.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-78.js
index ba9fed18a1..26793f3003 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-78.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-78.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-78
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.valueOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "valueOf");
-  if (desc.value === String.prototype.valueOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.valueOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-79.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-79.js
index 66b1600535..e81d1eb99d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-79.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-79.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-79
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.toLocaleLowerCase)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "toLocaleLowerCase");
-  if (desc.value === String.prototype.toLocaleLowerCase &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.toLocaleLowerCase, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-8.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-8.js
index c410e86064..39a189fd5d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-8.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-8.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-8
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.isFinite)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global,  "isFinite");
-  if (desc.value === global.isFinite &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.isFinite, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-80.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-80.js
index 8070e4f92e..577756342c 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-80.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-80.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-80
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.toLocaleUpperCase)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "toLocaleUpperCase");
-  if (desc.value === String.prototype.toLocaleUpperCase &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.toLocaleUpperCase, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-81.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-81.js
index fc9a9aea52..d399238b12 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-81.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-81.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-81
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.localeCompare)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "localeCompare");
-  if (desc.value === String.prototype.localeCompare &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.localeCompare, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-82.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-82.js
index 1ae008c3e1..3412ec421a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-82.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-82.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-82
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (String.prototype.trim)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(String.prototype, "trim");
-  if (desc.value === String.prototype.trim &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, String.prototype.trim, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-84.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-84.js
index 6969f0dda1..25ab07de3d 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-84.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-84.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-84
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Boolean.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Boolean.prototype, "constructor");
-  if (desc.value === Boolean.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Boolean.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-85.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-85.js
index 117dfb5770..463d1e39d5 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-85.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-85.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-85
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Boolean.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Boolean.prototype, "toString");
-  if (desc.value === Boolean.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Boolean.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-86.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-86.js
index 8aa72545e1..4b5880d4e1 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-86.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-86.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-86
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Boolean.prototype.valueOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Boolean.prototype, "valueOf");
-  if (desc.value === Boolean.prototype.valueOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Boolean.prototype.valueOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-88.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-88.js
index 7812d8aaf0..130d2d45a6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-88.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-88.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-88
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Number.prototype.constructor)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number.prototype, "constructor");
-  if (desc.value === Number.prototype.constructor &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Number.prototype.constructor, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-89.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-89.js
index 0fac176a46..b392e59799 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-89.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-89.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-89
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Number.prototype.toString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number.prototype, "toString");
-  if (desc.value === Number.prototype.toString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Number.prototype.toString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-9.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-9.js
index 56f83565ec..cefada6b5a 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-9.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-9.js
@@ -6,19 +6,13 @@ es5id: 15.2.3.3-4-9
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Global.decodeURI)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
   var global = fnGlobalObject();
   var desc = Object.getOwnPropertyDescriptor(global, "decodeURI");
-  if (desc.value === global.decodeURI &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, global.decodeURI, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-90.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-90.js
index 864ebdb995..2f8c725270 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-90.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-90.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-90
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Number.prototype.toLocaleString)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number.prototype, "toLocaleString");
-  if (desc.value === Number.prototype.toLocaleString &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Number.prototype.toLocaleString, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-91.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-91.js
index 4ece44de64..674acf087f 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-91.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-91.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-91
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Number.prototype.toFixed)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number.prototype, "toFixed");
-  if (desc.value === Number.prototype.toFixed &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Number.prototype.toFixed, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-92.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-92.js
index 21d99f7926..553bf70bcc 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-92.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-92.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-92
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Number.prototype.toExponential)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number.prototype, "toExponential");
-  if (desc.value === Number.prototype.toExponential &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Number.prototype.toExponential, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-93.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-93.js
index 4160a1effb..76fcf8ae10 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-93.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-93.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-93
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Number.prototype.toPrecision)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number.prototype, "toPrecision");
-  if (desc.value === Number.prototype.toPrecision &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Number.prototype.toPrecision, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-94.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-94.js
index 96af15ad69..13159813f7 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-94.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-94.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-94
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Number.prototype.valueOf)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Number.prototype, "valueOf");
-  if (desc.value === Number.prototype.valueOf &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Number.prototype.valueOf, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-96.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-96.js
index 1c5b0267ac..603e590b48 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-96.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-96.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-96
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.abs)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "abs");
-  if (desc.value === Math.abs &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.abs, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-97.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-97.js
index c8fc0a0467..2c3e9ca5b6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-97.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-97.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-97
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.acos)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "acos");
-  if (desc.value === Math.acos &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.acos, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-98.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-98.js
index 293c28f7f1..3833480fd6 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-98.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-98.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-98
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.asin)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "asin");
-  if (desc.value === Math.asin &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.asin, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-99.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-99.js
index 7fc08472d3..0fa81e5453 100644
--- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-99.js
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-99.js
@@ -6,16 +6,11 @@ es5id: 15.2.3.3-4-99
 description: >
     Object.getOwnPropertyDescriptor returns data desc for functions on
     built-ins (Math.atan)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
   var desc = Object.getOwnPropertyDescriptor(Math, "atan");
-  if (desc.value === Math.atan &&
-      desc.writable === true &&
-      desc.enumerable === false &&
-      desc.configurable === true) {
-    return true;
-  }
- }
-runTestCase(testcase);
+
+assert.sameValue(desc.value, Math.atan, 'desc.value');
+assert.sameValue(desc.writable, true, 'desc.writable');
+assert.sameValue(desc.enumerable, false, 'desc.enumerable');
+assert.sameValue(desc.configurable, true, 'desc.configurable');
-- 
GitLab