From ca61d9b8768aca53a2b15dbe486551dcd7310074 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Bargull?= <andre.bargull@gmail.com>
Date: Fri, 15 Jan 2016 18:12:05 +0100
Subject: [PATCH] Add missing tests for "length" and "name" properties of
 built-in functions

Note: Already uses the updated DataView function lengths from tc39/ecma262#266 (ES2016 Draft 2015-12-20)
---
 test/built-ins/Array/Symbol.species/length.js | 32 +++++++++++++++++++
 test/built-ins/Array/isArray/name.js          | 26 +++++++++++++++
 test/built-ins/Array/prototype/concat/name.js | 26 +++++++++++++++
 test/built-ins/Array/prototype/every/name.js  | 26 +++++++++++++++
 test/built-ins/Array/prototype/filter/name.js | 26 +++++++++++++++
 .../built-ins/Array/prototype/forEach/name.js | 26 +++++++++++++++
 .../built-ins/Array/prototype/indexOf/name.js | 26 +++++++++++++++
 test/built-ins/Array/prototype/join/name.js   | 26 +++++++++++++++
 .../Array/prototype/lastIndexOf/name.js       | 26 +++++++++++++++
 test/built-ins/Array/prototype/map/name.js    | 26 +++++++++++++++
 test/built-ins/Array/prototype/pop/name.js    | 26 +++++++++++++++
 test/built-ins/Array/prototype/push/name.js   | 26 +++++++++++++++
 test/built-ins/Array/prototype/reduce/name.js | 26 +++++++++++++++
 .../Array/prototype/reduceRight/name.js       | 26 +++++++++++++++
 .../built-ins/Array/prototype/reverse/name.js | 26 +++++++++++++++
 test/built-ins/Array/prototype/shift/name.js  | 26 +++++++++++++++
 test/built-ins/Array/prototype/slice/name.js  | 26 +++++++++++++++
 test/built-ins/Array/prototype/some/name.js   | 26 +++++++++++++++
 test/built-ins/Array/prototype/sort/name.js   | 26 +++++++++++++++
 test/built-ins/Array/prototype/splice/name.js | 26 +++++++++++++++
 .../Array/prototype/toLocaleString/name.js    | 26 +++++++++++++++
 .../Array/prototype/toString/name.js          | 26 +++++++++++++++
 .../built-ins/Array/prototype/unshift/name.js | 26 +++++++++++++++
 .../ArrayBuffer/Symbol.species/length.js      | 32 +++++++++++++++++++
 test/built-ins/ArrayBuffer/isView/length.js   | 29 +++++++++++++++++
 test/built-ins/ArrayBuffer/isView/name.js     | 26 +++++++++++++++
 .../prototype/byteLength/length.js            | 31 ++++++++++++++++++
 .../ArrayIteratorPrototype/next/length.js     | 31 ++++++++++++++++++
 .../ArrayIteratorPrototype/next/name.js       | 28 ++++++++++++++++
 .../Boolean/prototype/toString/length.js      | 29 +++++++++++++++++
 .../Boolean/prototype/toString/name.js        | 26 +++++++++++++++
 .../Boolean/prototype/valueOf/length.js       | 29 +++++++++++++++++
 .../Boolean/prototype/valueOf/name.js         | 26 +++++++++++++++
 .../DataView/prototype/buffer/length.js       | 31 ++++++++++++++++++
 .../DataView/prototype/byteLength/length.js   | 31 ++++++++++++++++++
 .../DataView/prototype/byteOffset/length.js   | 31 ++++++++++++++++++
 .../DataView/prototype/getFloat32/length.js   | 30 +++++++++++++++++
 .../DataView/prototype/getFloat32/name.js     | 26 +++++++++++++++
 .../DataView/prototype/getFloat64/length.js   | 30 +++++++++++++++++
 .../DataView/prototype/getFloat64/name.js     | 26 +++++++++++++++
 .../DataView/prototype/getInt16/length.js     | 30 +++++++++++++++++
 .../DataView/prototype/getInt16/name.js       | 26 +++++++++++++++
 .../DataView/prototype/getInt32/length.js     | 30 +++++++++++++++++
 .../DataView/prototype/getInt32/name.js       | 26 +++++++++++++++
 .../DataView/prototype/getInt8/length.js      | 29 +++++++++++++++++
 .../DataView/prototype/getInt8/name.js        | 26 +++++++++++++++
 .../DataView/prototype/getUint16/length.js    | 30 +++++++++++++++++
 .../DataView/prototype/getUint16/name.js      | 26 +++++++++++++++
 .../DataView/prototype/getUint32/length.js    | 30 +++++++++++++++++
 .../DataView/prototype/getUint32/name.js      | 26 +++++++++++++++
 .../DataView/prototype/getUint8/length.js     | 29 +++++++++++++++++
 .../DataView/prototype/getUint8/name.js       | 26 +++++++++++++++
 .../DataView/prototype/setFloat32/length.js   | 30 +++++++++++++++++
 .../DataView/prototype/setFloat32/name.js     | 26 +++++++++++++++
 .../DataView/prototype/setFloat64/length.js   | 30 +++++++++++++++++
 .../DataView/prototype/setFloat64/name.js     | 26 +++++++++++++++
 .../DataView/prototype/setInt16/length.js     | 30 +++++++++++++++++
 .../DataView/prototype/setInt16/name.js       | 26 +++++++++++++++
 .../DataView/prototype/setInt32/length.js     | 30 +++++++++++++++++
 .../DataView/prototype/setInt32/name.js       | 26 +++++++++++++++
 .../DataView/prototype/setInt8/length.js      | 29 +++++++++++++++++
 .../DataView/prototype/setInt8/name.js        | 26 +++++++++++++++
 .../DataView/prototype/setUint16/length.js    | 30 +++++++++++++++++
 .../DataView/prototype/setUint16/name.js      | 26 +++++++++++++++
 .../DataView/prototype/setUint32/length.js    | 30 +++++++++++++++++
 .../DataView/prototype/setUint32/name.js      | 26 +++++++++++++++
 .../DataView/prototype/setUint8/length.js     | 29 +++++++++++++++++
 .../DataView/prototype/setUint8/name.js       | 26 +++++++++++++++
 test/built-ins/Date/UTC/name.js               | 26 +++++++++++++++
 test/built-ins/Date/now/name.js               | 26 +++++++++++++++
 test/built-ins/Date/parse/name.js             | 26 +++++++++++++++
 test/built-ins/Date/prototype/getDate/name.js | 26 +++++++++++++++
 test/built-ins/Date/prototype/getDay/name.js  | 26 +++++++++++++++
 .../Date/prototype/getFullYear/name.js        | 26 +++++++++++++++
 .../built-ins/Date/prototype/getHours/name.js | 26 +++++++++++++++
 .../Date/prototype/getMilliseconds/name.js    | 26 +++++++++++++++
 .../Date/prototype/getMinutes/name.js         | 26 +++++++++++++++
 .../built-ins/Date/prototype/getMonth/name.js | 26 +++++++++++++++
 .../Date/prototype/getSeconds/name.js         | 26 +++++++++++++++
 test/built-ins/Date/prototype/getTime/name.js | 26 +++++++++++++++
 .../Date/prototype/getTimezoneOffset/name.js  | 26 +++++++++++++++
 .../Date/prototype/getUTCDate/name.js         | 26 +++++++++++++++
 .../Date/prototype/getUTCDay/name.js          | 26 +++++++++++++++
 .../Date/prototype/getUTCFullYear/name.js     | 26 +++++++++++++++
 .../Date/prototype/getUTCHours/name.js        | 26 +++++++++++++++
 .../Date/prototype/getUTCMilliseconds/name.js | 26 +++++++++++++++
 .../Date/prototype/getUTCMinutes/name.js      | 26 +++++++++++++++
 .../Date/prototype/getUTCMonth/name.js        | 26 +++++++++++++++
 .../Date/prototype/getUTCSeconds/name.js      | 26 +++++++++++++++
 test/built-ins/Date/prototype/setDate/name.js | 26 +++++++++++++++
 .../Date/prototype/setFullYear/name.js        | 26 +++++++++++++++
 .../built-ins/Date/prototype/setHours/name.js | 26 +++++++++++++++
 .../Date/prototype/setMilliseconds/name.js    | 26 +++++++++++++++
 .../Date/prototype/setMinutes/name.js         | 26 +++++++++++++++
 .../built-ins/Date/prototype/setMonth/name.js | 26 +++++++++++++++
 .../Date/prototype/setSeconds/name.js         | 26 +++++++++++++++
 test/built-ins/Date/prototype/setTime/name.js | 26 +++++++++++++++
 .../Date/prototype/setUTCDate/name.js         | 26 +++++++++++++++
 .../Date/prototype/setUTCFullYear/name.js     | 26 +++++++++++++++
 .../Date/prototype/setUTCHours/name.js        | 26 +++++++++++++++
 .../Date/prototype/setUTCMilliseconds/name.js | 26 +++++++++++++++
 .../Date/prototype/setUTCMinutes/name.js      | 26 +++++++++++++++
 .../Date/prototype/setUTCMonth/name.js        | 26 +++++++++++++++
 .../Date/prototype/setUTCSeconds/name.js      | 26 +++++++++++++++
 .../Date/prototype/toDateString/name.js       | 26 +++++++++++++++
 .../Date/prototype/toISOString/name.js        | 26 +++++++++++++++
 test/built-ins/Date/prototype/toJSON/name.js  | 26 +++++++++++++++
 .../Date/prototype/toLocaleDateString/name.js | 26 +++++++++++++++
 .../Date/prototype/toLocaleString/name.js     | 26 +++++++++++++++
 .../Date/prototype/toLocaleTimeString/name.js | 26 +++++++++++++++
 .../built-ins/Date/prototype/toString/name.js | 26 +++++++++++++++
 .../Date/prototype/toTimeString/name.js       | 26 +++++++++++++++
 .../Date/prototype/toUTCString/name.js        | 26 +++++++++++++++
 test/built-ins/Date/prototype/valueOf/name.js | 26 +++++++++++++++
 .../Error/prototype/toString/length.js        | 29 +++++++++++++++++
 .../Error/prototype/toString/name.js          | 26 +++++++++++++++
 .../Function/prototype/apply/name.js          | 26 +++++++++++++++
 .../built-ins/Function/prototype/bind/name.js | 26 +++++++++++++++
 .../built-ins/Function/prototype/call/name.js | 26 +++++++++++++++
 .../Function/prototype/toString/name.js       | 26 +++++++++++++++
 .../GeneratorPrototype/next/length.js         | 32 +++++++++++++++++++
 .../built-ins/GeneratorPrototype/next/name.js | 29 +++++++++++++++++
 .../GeneratorPrototype/return/length.js       | 32 +++++++++++++++++++
 .../GeneratorPrototype/return/name.js         | 29 +++++++++++++++++
 .../GeneratorPrototype/throw/length.js        | 32 +++++++++++++++++++
 .../GeneratorPrototype/throw/name.js          | 29 +++++++++++++++++
 test/built-ins/JSON/parse/name.js             | 26 +++++++++++++++
 test/built-ins/JSON/stringify/name.js         | 26 +++++++++++++++
 test/built-ins/Map/Symbol.species/length.js   | 32 +++++++++++++++++++
 .../MapIteratorPrototype/next/length.js       | 31 ++++++++++++++++++
 .../MapIteratorPrototype/next/name.js         | 28 ++++++++++++++++
 test/built-ins/Math/abs/length.js             | 29 +++++++++++++++++
 test/built-ins/Math/abs/name.js               | 26 +++++++++++++++
 test/built-ins/Math/acos/length.js            | 29 +++++++++++++++++
 test/built-ins/Math/acos/name.js              | 26 +++++++++++++++
 test/built-ins/Math/acosh/name.js             | 26 +++++++++++++++
 test/built-ins/Math/asin/length.js            | 29 +++++++++++++++++
 test/built-ins/Math/asin/name.js              | 26 +++++++++++++++
 test/built-ins/Math/asinh/name.js             | 26 +++++++++++++++
 test/built-ins/Math/atan/length.js            | 29 +++++++++++++++++
 test/built-ins/Math/atan/name.js              | 26 +++++++++++++++
 test/built-ins/Math/atan2/length.js           | 29 +++++++++++++++++
 test/built-ins/Math/atan2/name.js             | 26 +++++++++++++++
 test/built-ins/Math/atanh/name.js             | 26 +++++++++++++++
 test/built-ins/Math/cbrt/name.js              | 26 +++++++++++++++
 test/built-ins/Math/ceil/length.js            | 29 +++++++++++++++++
 test/built-ins/Math/ceil/name.js              | 26 +++++++++++++++
 test/built-ins/Math/clz32/length.js           | 29 +++++++++++++++++
 test/built-ins/Math/clz32/name.js             | 26 +++++++++++++++
 test/built-ins/Math/cos/length.js             | 29 +++++++++++++++++
 test/built-ins/Math/cos/name.js               | 26 +++++++++++++++
 test/built-ins/Math/cosh/name.js              | 26 +++++++++++++++
 test/built-ins/Math/exp/length.js             | 29 +++++++++++++++++
 test/built-ins/Math/exp/name.js               | 26 +++++++++++++++
 test/built-ins/Math/expm1/name.js             | 26 +++++++++++++++
 test/built-ins/Math/floor/length.js           | 29 +++++++++++++++++
 test/built-ins/Math/floor/name.js             | 26 +++++++++++++++
 test/built-ins/Math/fround/length.js          | 29 +++++++++++++++++
 test/built-ins/Math/fround/name.js            | 26 +++++++++++++++
 test/built-ins/Math/hypot/name.js             | 26 +++++++++++++++
 test/built-ins/Math/imul/name.js              | 26 +++++++++++++++
 test/built-ins/Math/log/length.js             | 29 +++++++++++++++++
 test/built-ins/Math/log/name.js               | 26 +++++++++++++++
 test/built-ins/Math/log10/name.js             | 26 +++++++++++++++
 test/built-ins/Math/log1p/name.js             | 26 +++++++++++++++
 test/built-ins/Math/log2/name.js              | 26 +++++++++++++++
 test/built-ins/Math/max/name.js               | 26 +++++++++++++++
 test/built-ins/Math/min/name.js               | 26 +++++++++++++++
 test/built-ins/Math/pow/length.js             | 29 +++++++++++++++++
 test/built-ins/Math/pow/name.js               | 26 +++++++++++++++
 test/built-ins/Math/random/length.js          | 29 +++++++++++++++++
 test/built-ins/Math/random/name.js            | 26 +++++++++++++++
 test/built-ins/Math/round/length.js           | 29 +++++++++++++++++
 test/built-ins/Math/round/name.js             | 26 +++++++++++++++
 test/built-ins/Math/sign/name.js              | 26 +++++++++++++++
 test/built-ins/Math/sin/length.js             | 29 +++++++++++++++++
 test/built-ins/Math/sin/name.js               | 26 +++++++++++++++
 test/built-ins/Math/sinh/name.js              | 26 +++++++++++++++
 test/built-ins/Math/sqrt/length.js            | 29 +++++++++++++++++
 test/built-ins/Math/sqrt/name.js              | 26 +++++++++++++++
 test/built-ins/Math/tan/length.js             | 29 +++++++++++++++++
 test/built-ins/Math/tan/name.js               | 26 +++++++++++++++
 test/built-ins/Math/tanh/name.js              | 26 +++++++++++++++
 test/built-ins/Math/trunc/name.js             | 26 +++++++++++++++
 test/built-ins/Number/isFinite/length.js      | 29 +++++++++++++++++
 test/built-ins/Number/isFinite/name.js        | 26 +++++++++++++++
 test/built-ins/Number/isInteger/length.js     | 29 +++++++++++++++++
 test/built-ins/Number/isInteger/name.js       | 26 +++++++++++++++
 test/built-ins/Number/isNaN/length.js         | 29 +++++++++++++++++
 test/built-ins/Number/isNaN/name.js           | 26 +++++++++++++++
 test/built-ins/Number/isSafeInteger/length.js | 29 +++++++++++++++++
 test/built-ins/Number/isSafeInteger/name.js   | 26 +++++++++++++++
 .../Number/prototype/toExponential/length.js  | 29 +++++++++++++++++
 .../Number/prototype/toExponential/name.js    | 26 +++++++++++++++
 .../Number/prototype/toFixed/name.js          | 26 +++++++++++++++
 .../Number/prototype/toLocaleString/length.js | 29 +++++++++++++++++
 .../Number/prototype/toLocaleString/name.js   | 26 +++++++++++++++
 .../Number/prototype/toPrecision/length.js    | 29 +++++++++++++++++
 .../Number/prototype/toPrecision/name.js      | 26 +++++++++++++++
 .../Number/prototype/toString/length.js       | 29 +++++++++++++++++
 .../Number/prototype/toString/name.js         | 26 +++++++++++++++
 .../Number/prototype/valueOf/length.js        | 29 +++++++++++++++++
 .../Number/prototype/valueOf/name.js          | 26 +++++++++++++++
 test/built-ins/Object/create/name.js          | 26 +++++++++++++++
 .../built-ins/Object/defineProperties/name.js | 26 +++++++++++++++
 test/built-ins/Object/defineProperty/name.js  | 26 +++++++++++++++
 test/built-ins/Object/freeze/name.js          | 26 +++++++++++++++
 .../Object/getOwnPropertyDescriptor/name.js   | 26 +++++++++++++++
 .../Object/getOwnPropertyNames/name.js        | 26 +++++++++++++++
 .../Object/getOwnPropertySymbols/length.js    | 29 +++++++++++++++++
 .../Object/getOwnPropertySymbols/name.js      | 26 +++++++++++++++
 test/built-ins/Object/getPrototypeOf/name.js  | 26 +++++++++++++++
 test/built-ins/Object/isExtensible/name.js    | 26 +++++++++++++++
 test/built-ins/Object/isFrozen/name.js        | 26 +++++++++++++++
 test/built-ins/Object/isSealed/name.js        | 26 +++++++++++++++
 test/built-ins/Object/keys/name.js            | 26 +++++++++++++++
 .../Object/preventExtensions/name.js          | 26 +++++++++++++++
 .../Object/prototype/hasOwnProperty/name.js   | 26 +++++++++++++++
 .../Object/prototype/isPrototypeOf/name.js    | 26 +++++++++++++++
 .../prototype/propertyIsEnumerable/name.js    | 26 +++++++++++++++
 .../Object/prototype/toLocaleString/name.js   | 26 +++++++++++++++
 .../Object/prototype/toString/name.js         | 26 +++++++++++++++
 .../Object/prototype/valueOf/name.js          | 26 +++++++++++++++
 test/built-ins/Object/seal/name.js            | 26 +++++++++++++++
 .../Promise/Symbol.species/length.js          | 32 +++++++++++++++++++
 test/built-ins/Proxy/revocable/length.js      | 29 +++++++++++++++++
 test/built-ins/Proxy/revocable/name.js        | 26 +++++++++++++++
 .../built-ins/RegExp/Symbol.species/length.js | 32 +++++++++++++++++++
 test/built-ins/RegExp/prototype/exec/name.js  | 26 +++++++++++++++
 .../RegExp/prototype/flags/length.js          | 31 ++++++++++++++++++
 .../RegExp/prototype/global/length.js         | 31 ++++++++++++++++++
 .../RegExp/prototype/ignoreCase/length.js     | 31 ++++++++++++++++++
 .../RegExp/prototype/multiline/length.js      | 31 ++++++++++++++++++
 .../RegExp/prototype/source/length.js         | 31 ++++++++++++++++++
 .../RegExp/prototype/sticky/length.js         | 31 ++++++++++++++++++
 test/built-ins/RegExp/prototype/test/name.js  | 26 +++++++++++++++
 .../RegExp/prototype/toString/name.js         | 26 +++++++++++++++
 test/built-ins/Set/Symbol.species/length.js   | 32 +++++++++++++++++++
 .../SetIteratorPrototype/next/length.js       | 31 ++++++++++++++++++
 .../SetIteratorPrototype/next/name.js         | 28 ++++++++++++++++
 test/built-ins/String/fromCharCode/name.js    | 26 +++++++++++++++
 .../built-ins/String/prototype/charAt/name.js | 26 +++++++++++++++
 .../String/prototype/charCodeAt/name.js       | 26 +++++++++++++++
 .../built-ins/String/prototype/concat/name.js | 26 +++++++++++++++
 .../String/prototype/indexOf/name.js          | 26 +++++++++++++++
 .../String/prototype/lastIndexOf/name.js      | 26 +++++++++++++++
 .../String/prototype/localeCompare/name.js    | 26 +++++++++++++++
 test/built-ins/String/prototype/match/name.js | 26 +++++++++++++++
 .../String/prototype/replace/name.js          | 26 +++++++++++++++
 .../built-ins/String/prototype/search/name.js | 26 +++++++++++++++
 test/built-ins/String/prototype/slice/name.js | 26 +++++++++++++++
 test/built-ins/String/prototype/split/name.js | 26 +++++++++++++++
 .../String/prototype/substring/name.js        | 26 +++++++++++++++
 .../prototype/toLocaleLowerCase/name.js       | 26 +++++++++++++++
 .../prototype/toLocaleUpperCase/name.js       | 26 +++++++++++++++
 .../String/prototype/toLowerCase/name.js      | 26 +++++++++++++++
 .../String/prototype/toString/name.js         | 26 +++++++++++++++
 .../String/prototype/toUpperCase/name.js      | 26 +++++++++++++++
 test/built-ins/String/prototype/trim/name.js  | 26 +++++++++++++++
 .../String/prototype/valueOf/length.js        | 29 +++++++++++++++++
 .../String/prototype/valueOf/name.js          | 26 +++++++++++++++
 .../StringIteratorPrototype/next/length.js    | 32 +++++++++++++++++++
 .../StringIteratorPrototype/next/name.js      | 28 ++++++++++++++++
 test/built-ins/Symbol/for/length.js           | 29 +++++++++++++++++
 test/built-ins/Symbol/for/name.js             | 26 +++++++++++++++
 test/built-ins/Symbol/keyFor/length.js        | 29 +++++++++++++++++
 test/built-ins/Symbol/keyFor/name.js          | 26 +++++++++++++++
 .../Symbol/prototype/toString/length.js       | 29 +++++++++++++++++
 .../Symbol/prototype/toString/name.js         | 26 +++++++++++++++
 .../Symbol/prototype/valueOf/length.js        | 29 +++++++++++++++++
 .../Symbol/prototype/valueOf/name.js          | 26 +++++++++++++++
 test/built-ins/decodeURI/name.js              | 26 +++++++++++++++
 test/built-ins/decodeURIComponent/name.js     | 26 +++++++++++++++
 test/built-ins/encodeURI/name.js              | 26 +++++++++++++++
 test/built-ins/encodeURIComponent/name.js     | 26 +++++++++++++++
 test/built-ins/eval/name.js                   | 26 +++++++++++++++
 test/built-ins/isFinite/name.js               | 26 +++++++++++++++
 test/built-ins/isNaN/name.js                  | 26 +++++++++++++++
 test/built-ins/parseFloat/name.js             | 26 +++++++++++++++
 test/built-ins/parseInt/name.js               | 26 +++++++++++++++
 280 files changed, 7596 insertions(+)
 create mode 100755 test/built-ins/Array/Symbol.species/length.js
 create mode 100755 test/built-ins/Array/isArray/name.js
 create mode 100755 test/built-ins/Array/prototype/concat/name.js
 create mode 100755 test/built-ins/Array/prototype/every/name.js
 create mode 100755 test/built-ins/Array/prototype/filter/name.js
 create mode 100755 test/built-ins/Array/prototype/forEach/name.js
 create mode 100755 test/built-ins/Array/prototype/indexOf/name.js
 create mode 100755 test/built-ins/Array/prototype/join/name.js
 create mode 100755 test/built-ins/Array/prototype/lastIndexOf/name.js
 create mode 100755 test/built-ins/Array/prototype/map/name.js
 create mode 100755 test/built-ins/Array/prototype/pop/name.js
 create mode 100755 test/built-ins/Array/prototype/push/name.js
 create mode 100755 test/built-ins/Array/prototype/reduce/name.js
 create mode 100755 test/built-ins/Array/prototype/reduceRight/name.js
 create mode 100755 test/built-ins/Array/prototype/reverse/name.js
 create mode 100755 test/built-ins/Array/prototype/shift/name.js
 create mode 100755 test/built-ins/Array/prototype/slice/name.js
 create mode 100755 test/built-ins/Array/prototype/some/name.js
 create mode 100755 test/built-ins/Array/prototype/sort/name.js
 create mode 100755 test/built-ins/Array/prototype/splice/name.js
 create mode 100755 test/built-ins/Array/prototype/toLocaleString/name.js
 create mode 100755 test/built-ins/Array/prototype/toString/name.js
 create mode 100755 test/built-ins/Array/prototype/unshift/name.js
 create mode 100755 test/built-ins/ArrayBuffer/Symbol.species/length.js
 create mode 100755 test/built-ins/ArrayBuffer/isView/length.js
 create mode 100755 test/built-ins/ArrayBuffer/isView/name.js
 create mode 100755 test/built-ins/ArrayBuffer/prototype/byteLength/length.js
 create mode 100755 test/built-ins/ArrayIteratorPrototype/next/length.js
 create mode 100755 test/built-ins/ArrayIteratorPrototype/next/name.js
 create mode 100755 test/built-ins/Boolean/prototype/toString/length.js
 create mode 100755 test/built-ins/Boolean/prototype/toString/name.js
 create mode 100755 test/built-ins/Boolean/prototype/valueOf/length.js
 create mode 100755 test/built-ins/Boolean/prototype/valueOf/name.js
 create mode 100755 test/built-ins/DataView/prototype/buffer/length.js
 create mode 100755 test/built-ins/DataView/prototype/byteLength/length.js
 create mode 100755 test/built-ins/DataView/prototype/byteOffset/length.js
 create mode 100755 test/built-ins/DataView/prototype/getFloat32/length.js
 create mode 100755 test/built-ins/DataView/prototype/getFloat32/name.js
 create mode 100755 test/built-ins/DataView/prototype/getFloat64/length.js
 create mode 100755 test/built-ins/DataView/prototype/getFloat64/name.js
 create mode 100755 test/built-ins/DataView/prototype/getInt16/length.js
 create mode 100755 test/built-ins/DataView/prototype/getInt16/name.js
 create mode 100755 test/built-ins/DataView/prototype/getInt32/length.js
 create mode 100755 test/built-ins/DataView/prototype/getInt32/name.js
 create mode 100755 test/built-ins/DataView/prototype/getInt8/length.js
 create mode 100755 test/built-ins/DataView/prototype/getInt8/name.js
 create mode 100755 test/built-ins/DataView/prototype/getUint16/length.js
 create mode 100755 test/built-ins/DataView/prototype/getUint16/name.js
 create mode 100755 test/built-ins/DataView/prototype/getUint32/length.js
 create mode 100755 test/built-ins/DataView/prototype/getUint32/name.js
 create mode 100755 test/built-ins/DataView/prototype/getUint8/length.js
 create mode 100755 test/built-ins/DataView/prototype/getUint8/name.js
 create mode 100755 test/built-ins/DataView/prototype/setFloat32/length.js
 create mode 100755 test/built-ins/DataView/prototype/setFloat32/name.js
 create mode 100755 test/built-ins/DataView/prototype/setFloat64/length.js
 create mode 100755 test/built-ins/DataView/prototype/setFloat64/name.js
 create mode 100755 test/built-ins/DataView/prototype/setInt16/length.js
 create mode 100755 test/built-ins/DataView/prototype/setInt16/name.js
 create mode 100755 test/built-ins/DataView/prototype/setInt32/length.js
 create mode 100755 test/built-ins/DataView/prototype/setInt32/name.js
 create mode 100755 test/built-ins/DataView/prototype/setInt8/length.js
 create mode 100755 test/built-ins/DataView/prototype/setInt8/name.js
 create mode 100755 test/built-ins/DataView/prototype/setUint16/length.js
 create mode 100755 test/built-ins/DataView/prototype/setUint16/name.js
 create mode 100755 test/built-ins/DataView/prototype/setUint32/length.js
 create mode 100755 test/built-ins/DataView/prototype/setUint32/name.js
 create mode 100755 test/built-ins/DataView/prototype/setUint8/length.js
 create mode 100755 test/built-ins/DataView/prototype/setUint8/name.js
 create mode 100755 test/built-ins/Date/UTC/name.js
 create mode 100755 test/built-ins/Date/now/name.js
 create mode 100755 test/built-ins/Date/parse/name.js
 create mode 100755 test/built-ins/Date/prototype/getDate/name.js
 create mode 100755 test/built-ins/Date/prototype/getDay/name.js
 create mode 100755 test/built-ins/Date/prototype/getFullYear/name.js
 create mode 100755 test/built-ins/Date/prototype/getHours/name.js
 create mode 100755 test/built-ins/Date/prototype/getMilliseconds/name.js
 create mode 100755 test/built-ins/Date/prototype/getMinutes/name.js
 create mode 100755 test/built-ins/Date/prototype/getMonth/name.js
 create mode 100755 test/built-ins/Date/prototype/getSeconds/name.js
 create mode 100755 test/built-ins/Date/prototype/getTime/name.js
 create mode 100755 test/built-ins/Date/prototype/getTimezoneOffset/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCDate/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCDay/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCFullYear/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCHours/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCMilliseconds/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCMinutes/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCMonth/name.js
 create mode 100755 test/built-ins/Date/prototype/getUTCSeconds/name.js
 create mode 100755 test/built-ins/Date/prototype/setDate/name.js
 create mode 100755 test/built-ins/Date/prototype/setFullYear/name.js
 create mode 100755 test/built-ins/Date/prototype/setHours/name.js
 create mode 100755 test/built-ins/Date/prototype/setMilliseconds/name.js
 create mode 100755 test/built-ins/Date/prototype/setMinutes/name.js
 create mode 100755 test/built-ins/Date/prototype/setMonth/name.js
 create mode 100755 test/built-ins/Date/prototype/setSeconds/name.js
 create mode 100755 test/built-ins/Date/prototype/setTime/name.js
 create mode 100755 test/built-ins/Date/prototype/setUTCDate/name.js
 create mode 100755 test/built-ins/Date/prototype/setUTCFullYear/name.js
 create mode 100755 test/built-ins/Date/prototype/setUTCHours/name.js
 create mode 100755 test/built-ins/Date/prototype/setUTCMilliseconds/name.js
 create mode 100755 test/built-ins/Date/prototype/setUTCMinutes/name.js
 create mode 100755 test/built-ins/Date/prototype/setUTCMonth/name.js
 create mode 100755 test/built-ins/Date/prototype/setUTCSeconds/name.js
 create mode 100755 test/built-ins/Date/prototype/toDateString/name.js
 create mode 100755 test/built-ins/Date/prototype/toISOString/name.js
 create mode 100755 test/built-ins/Date/prototype/toJSON/name.js
 create mode 100755 test/built-ins/Date/prototype/toLocaleDateString/name.js
 create mode 100755 test/built-ins/Date/prototype/toLocaleString/name.js
 create mode 100755 test/built-ins/Date/prototype/toLocaleTimeString/name.js
 create mode 100755 test/built-ins/Date/prototype/toString/name.js
 create mode 100755 test/built-ins/Date/prototype/toTimeString/name.js
 create mode 100755 test/built-ins/Date/prototype/toUTCString/name.js
 create mode 100755 test/built-ins/Date/prototype/valueOf/name.js
 create mode 100755 test/built-ins/Error/prototype/toString/length.js
 create mode 100755 test/built-ins/Error/prototype/toString/name.js
 create mode 100755 test/built-ins/Function/prototype/apply/name.js
 create mode 100755 test/built-ins/Function/prototype/bind/name.js
 create mode 100755 test/built-ins/Function/prototype/call/name.js
 create mode 100755 test/built-ins/Function/prototype/toString/name.js
 create mode 100755 test/built-ins/GeneratorPrototype/next/length.js
 create mode 100755 test/built-ins/GeneratorPrototype/next/name.js
 create mode 100755 test/built-ins/GeneratorPrototype/return/length.js
 create mode 100755 test/built-ins/GeneratorPrototype/return/name.js
 create mode 100755 test/built-ins/GeneratorPrototype/throw/length.js
 create mode 100755 test/built-ins/GeneratorPrototype/throw/name.js
 create mode 100755 test/built-ins/JSON/parse/name.js
 create mode 100755 test/built-ins/JSON/stringify/name.js
 create mode 100755 test/built-ins/Map/Symbol.species/length.js
 create mode 100755 test/built-ins/MapIteratorPrototype/next/length.js
 create mode 100755 test/built-ins/MapIteratorPrototype/next/name.js
 create mode 100755 test/built-ins/Math/abs/length.js
 create mode 100755 test/built-ins/Math/abs/name.js
 create mode 100755 test/built-ins/Math/acos/length.js
 create mode 100755 test/built-ins/Math/acos/name.js
 create mode 100755 test/built-ins/Math/acosh/name.js
 create mode 100755 test/built-ins/Math/asin/length.js
 create mode 100755 test/built-ins/Math/asin/name.js
 create mode 100755 test/built-ins/Math/asinh/name.js
 create mode 100755 test/built-ins/Math/atan/length.js
 create mode 100755 test/built-ins/Math/atan/name.js
 create mode 100755 test/built-ins/Math/atan2/length.js
 create mode 100755 test/built-ins/Math/atan2/name.js
 create mode 100755 test/built-ins/Math/atanh/name.js
 create mode 100755 test/built-ins/Math/cbrt/name.js
 create mode 100755 test/built-ins/Math/ceil/length.js
 create mode 100755 test/built-ins/Math/ceil/name.js
 create mode 100755 test/built-ins/Math/clz32/length.js
 create mode 100755 test/built-ins/Math/clz32/name.js
 create mode 100755 test/built-ins/Math/cos/length.js
 create mode 100755 test/built-ins/Math/cos/name.js
 create mode 100755 test/built-ins/Math/cosh/name.js
 create mode 100755 test/built-ins/Math/exp/length.js
 create mode 100755 test/built-ins/Math/exp/name.js
 create mode 100755 test/built-ins/Math/expm1/name.js
 create mode 100755 test/built-ins/Math/floor/length.js
 create mode 100755 test/built-ins/Math/floor/name.js
 create mode 100755 test/built-ins/Math/fround/length.js
 create mode 100755 test/built-ins/Math/fround/name.js
 create mode 100755 test/built-ins/Math/hypot/name.js
 create mode 100755 test/built-ins/Math/imul/name.js
 create mode 100755 test/built-ins/Math/log/length.js
 create mode 100755 test/built-ins/Math/log/name.js
 create mode 100755 test/built-ins/Math/log10/name.js
 create mode 100755 test/built-ins/Math/log1p/name.js
 create mode 100755 test/built-ins/Math/log2/name.js
 create mode 100755 test/built-ins/Math/max/name.js
 create mode 100755 test/built-ins/Math/min/name.js
 create mode 100755 test/built-ins/Math/pow/length.js
 create mode 100755 test/built-ins/Math/pow/name.js
 create mode 100755 test/built-ins/Math/random/length.js
 create mode 100755 test/built-ins/Math/random/name.js
 create mode 100755 test/built-ins/Math/round/length.js
 create mode 100755 test/built-ins/Math/round/name.js
 create mode 100755 test/built-ins/Math/sign/name.js
 create mode 100755 test/built-ins/Math/sin/length.js
 create mode 100755 test/built-ins/Math/sin/name.js
 create mode 100755 test/built-ins/Math/sinh/name.js
 create mode 100755 test/built-ins/Math/sqrt/length.js
 create mode 100755 test/built-ins/Math/sqrt/name.js
 create mode 100755 test/built-ins/Math/tan/length.js
 create mode 100755 test/built-ins/Math/tan/name.js
 create mode 100755 test/built-ins/Math/tanh/name.js
 create mode 100755 test/built-ins/Math/trunc/name.js
 create mode 100755 test/built-ins/Number/isFinite/length.js
 create mode 100755 test/built-ins/Number/isFinite/name.js
 create mode 100755 test/built-ins/Number/isInteger/length.js
 create mode 100755 test/built-ins/Number/isInteger/name.js
 create mode 100755 test/built-ins/Number/isNaN/length.js
 create mode 100755 test/built-ins/Number/isNaN/name.js
 create mode 100755 test/built-ins/Number/isSafeInteger/length.js
 create mode 100755 test/built-ins/Number/isSafeInteger/name.js
 create mode 100755 test/built-ins/Number/prototype/toExponential/length.js
 create mode 100755 test/built-ins/Number/prototype/toExponential/name.js
 create mode 100755 test/built-ins/Number/prototype/toFixed/name.js
 create mode 100755 test/built-ins/Number/prototype/toLocaleString/length.js
 create mode 100755 test/built-ins/Number/prototype/toLocaleString/name.js
 create mode 100755 test/built-ins/Number/prototype/toPrecision/length.js
 create mode 100755 test/built-ins/Number/prototype/toPrecision/name.js
 create mode 100755 test/built-ins/Number/prototype/toString/length.js
 create mode 100755 test/built-ins/Number/prototype/toString/name.js
 create mode 100755 test/built-ins/Number/prototype/valueOf/length.js
 create mode 100755 test/built-ins/Number/prototype/valueOf/name.js
 create mode 100755 test/built-ins/Object/create/name.js
 create mode 100755 test/built-ins/Object/defineProperties/name.js
 create mode 100755 test/built-ins/Object/defineProperty/name.js
 create mode 100755 test/built-ins/Object/freeze/name.js
 create mode 100755 test/built-ins/Object/getOwnPropertyDescriptor/name.js
 create mode 100755 test/built-ins/Object/getOwnPropertyNames/name.js
 create mode 100755 test/built-ins/Object/getOwnPropertySymbols/length.js
 create mode 100755 test/built-ins/Object/getOwnPropertySymbols/name.js
 create mode 100755 test/built-ins/Object/getPrototypeOf/name.js
 create mode 100755 test/built-ins/Object/isExtensible/name.js
 create mode 100755 test/built-ins/Object/isFrozen/name.js
 create mode 100755 test/built-ins/Object/isSealed/name.js
 create mode 100755 test/built-ins/Object/keys/name.js
 create mode 100755 test/built-ins/Object/preventExtensions/name.js
 create mode 100755 test/built-ins/Object/prototype/hasOwnProperty/name.js
 create mode 100755 test/built-ins/Object/prototype/isPrototypeOf/name.js
 create mode 100755 test/built-ins/Object/prototype/propertyIsEnumerable/name.js
 create mode 100755 test/built-ins/Object/prototype/toLocaleString/name.js
 create mode 100755 test/built-ins/Object/prototype/toString/name.js
 create mode 100755 test/built-ins/Object/prototype/valueOf/name.js
 create mode 100755 test/built-ins/Object/seal/name.js
 create mode 100755 test/built-ins/Promise/Symbol.species/length.js
 create mode 100755 test/built-ins/Proxy/revocable/length.js
 create mode 100755 test/built-ins/Proxy/revocable/name.js
 create mode 100755 test/built-ins/RegExp/Symbol.species/length.js
 create mode 100755 test/built-ins/RegExp/prototype/exec/name.js
 create mode 100755 test/built-ins/RegExp/prototype/flags/length.js
 create mode 100755 test/built-ins/RegExp/prototype/global/length.js
 create mode 100755 test/built-ins/RegExp/prototype/ignoreCase/length.js
 create mode 100755 test/built-ins/RegExp/prototype/multiline/length.js
 create mode 100755 test/built-ins/RegExp/prototype/source/length.js
 create mode 100755 test/built-ins/RegExp/prototype/sticky/length.js
 create mode 100755 test/built-ins/RegExp/prototype/test/name.js
 create mode 100755 test/built-ins/RegExp/prototype/toString/name.js
 create mode 100755 test/built-ins/Set/Symbol.species/length.js
 create mode 100755 test/built-ins/SetIteratorPrototype/next/length.js
 create mode 100755 test/built-ins/SetIteratorPrototype/next/name.js
 create mode 100755 test/built-ins/String/fromCharCode/name.js
 create mode 100755 test/built-ins/String/prototype/charAt/name.js
 create mode 100755 test/built-ins/String/prototype/charCodeAt/name.js
 create mode 100755 test/built-ins/String/prototype/concat/name.js
 create mode 100755 test/built-ins/String/prototype/indexOf/name.js
 create mode 100755 test/built-ins/String/prototype/lastIndexOf/name.js
 create mode 100755 test/built-ins/String/prototype/localeCompare/name.js
 create mode 100755 test/built-ins/String/prototype/match/name.js
 create mode 100755 test/built-ins/String/prototype/replace/name.js
 create mode 100755 test/built-ins/String/prototype/search/name.js
 create mode 100755 test/built-ins/String/prototype/slice/name.js
 create mode 100755 test/built-ins/String/prototype/split/name.js
 create mode 100755 test/built-ins/String/prototype/substring/name.js
 create mode 100755 test/built-ins/String/prototype/toLocaleLowerCase/name.js
 create mode 100755 test/built-ins/String/prototype/toLocaleUpperCase/name.js
 create mode 100755 test/built-ins/String/prototype/toLowerCase/name.js
 create mode 100755 test/built-ins/String/prototype/toString/name.js
 create mode 100755 test/built-ins/String/prototype/toUpperCase/name.js
 create mode 100755 test/built-ins/String/prototype/trim/name.js
 create mode 100755 test/built-ins/String/prototype/valueOf/length.js
 create mode 100755 test/built-ins/String/prototype/valueOf/name.js
 create mode 100755 test/built-ins/StringIteratorPrototype/next/length.js
 create mode 100755 test/built-ins/StringIteratorPrototype/next/name.js
 create mode 100755 test/built-ins/Symbol/for/length.js
 create mode 100755 test/built-ins/Symbol/for/name.js
 create mode 100755 test/built-ins/Symbol/keyFor/length.js
 create mode 100755 test/built-ins/Symbol/keyFor/name.js
 create mode 100755 test/built-ins/Symbol/prototype/toString/length.js
 create mode 100755 test/built-ins/Symbol/prototype/toString/name.js
 create mode 100755 test/built-ins/Symbol/prototype/valueOf/length.js
 create mode 100755 test/built-ins/Symbol/prototype/valueOf/name.js
 create mode 100755 test/built-ins/decodeURI/name.js
 create mode 100755 test/built-ins/decodeURIComponent/name.js
 create mode 100755 test/built-ins/encodeURI/name.js
 create mode 100755 test/built-ins/encodeURIComponent/name.js
 create mode 100755 test/built-ins/eval/name.js
 create mode 100755 test/built-ins/isFinite/name.js
 create mode 100755 test/built-ins/isNaN/name.js
 create mode 100755 test/built-ins/parseFloat/name.js
 create mode 100755 test/built-ins/parseInt/name.js

diff --git a/test/built-ins/Array/Symbol.species/length.js b/test/built-ins/Array/Symbol.species/length.js
new file mode 100755
index 0000000000..d50fe6190f
--- /dev/null
+++ b/test/built-ins/Array/Symbol.species/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.2.5
+description: >
+  get Array [ @@species ].length is 0.
+info: >
+  get Array [ @@species ]
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.species]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(Array, Symbol.species);
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/Array/isArray/name.js b/test/built-ins/Array/isArray/name.js
new file mode 100755
index 0000000000..bf4464f1d7
--- /dev/null
+++ b/test/built-ins/Array/isArray/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.2.2
+description: >
+  Array.isArray.name is "isArray".
+info: >
+  Array.isArray ( arg )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.isArray.name, "isArray");
+
+verifyNotEnumerable(Array.isArray, "name");
+verifyNotWritable(Array.isArray, "name");
+verifyConfigurable(Array.isArray, "name");
diff --git a/test/built-ins/Array/prototype/concat/name.js b/test/built-ins/Array/prototype/concat/name.js
new file mode 100755
index 0000000000..beac1601bc
--- /dev/null
+++ b/test/built-ins/Array/prototype/concat/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.1
+description: >
+  Array.prototype.concat.name is "concat".
+info: >
+  Array.prototype.concat ( ...arguments )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.concat.name, "concat");
+
+verifyNotEnumerable(Array.prototype.concat, "name");
+verifyNotWritable(Array.prototype.concat, "name");
+verifyConfigurable(Array.prototype.concat, "name");
diff --git a/test/built-ins/Array/prototype/every/name.js b/test/built-ins/Array/prototype/every/name.js
new file mode 100755
index 0000000000..6ef522c10b
--- /dev/null
+++ b/test/built-ins/Array/prototype/every/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.5
+description: >
+  Array.prototype.every.name is "every".
+info: >
+  Array.prototype.every ( callbackfn [ , thisArg] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.every.name, "every");
+
+verifyNotEnumerable(Array.prototype.every, "name");
+verifyNotWritable(Array.prototype.every, "name");
+verifyConfigurable(Array.prototype.every, "name");
diff --git a/test/built-ins/Array/prototype/filter/name.js b/test/built-ins/Array/prototype/filter/name.js
new file mode 100755
index 0000000000..3912493b0e
--- /dev/null
+++ b/test/built-ins/Array/prototype/filter/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.7
+description: >
+  Array.prototype.filter.name is "filter".
+info: >
+  Array.prototype.filter ( callbackfn [ , thisArg ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.filter.name, "filter");
+
+verifyNotEnumerable(Array.prototype.filter, "name");
+verifyNotWritable(Array.prototype.filter, "name");
+verifyConfigurable(Array.prototype.filter, "name");
diff --git a/test/built-ins/Array/prototype/forEach/name.js b/test/built-ins/Array/prototype/forEach/name.js
new file mode 100755
index 0000000000..7d072517c2
--- /dev/null
+++ b/test/built-ins/Array/prototype/forEach/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.10
+description: >
+  Array.prototype.forEach.name is "forEach".
+info: >
+  Array.prototype.forEach ( callbackfn [ , thisArg ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.forEach.name, "forEach");
+
+verifyNotEnumerable(Array.prototype.forEach, "name");
+verifyNotWritable(Array.prototype.forEach, "name");
+verifyConfigurable(Array.prototype.forEach, "name");
diff --git a/test/built-ins/Array/prototype/indexOf/name.js b/test/built-ins/Array/prototype/indexOf/name.js
new file mode 100755
index 0000000000..a909f74662
--- /dev/null
+++ b/test/built-ins/Array/prototype/indexOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.11
+description: >
+  Array.prototype.indexOf.name is "indexOf".
+info: >
+  Array.prototype.indexOf ( searchElement [ , fromIndex ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.indexOf.name, "indexOf");
+
+verifyNotEnumerable(Array.prototype.indexOf, "name");
+verifyNotWritable(Array.prototype.indexOf, "name");
+verifyConfigurable(Array.prototype.indexOf, "name");
diff --git a/test/built-ins/Array/prototype/join/name.js b/test/built-ins/Array/prototype/join/name.js
new file mode 100755
index 0000000000..722bd42826
--- /dev/null
+++ b/test/built-ins/Array/prototype/join/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.12
+description: >
+  Array.prototype.join.name is "join".
+info: >
+  Array.prototype.join (separator)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.join.name, "join");
+
+verifyNotEnumerable(Array.prototype.join, "name");
+verifyNotWritable(Array.prototype.join, "name");
+verifyConfigurable(Array.prototype.join, "name");
diff --git a/test/built-ins/Array/prototype/lastIndexOf/name.js b/test/built-ins/Array/prototype/lastIndexOf/name.js
new file mode 100755
index 0000000000..a36863ed0b
--- /dev/null
+++ b/test/built-ins/Array/prototype/lastIndexOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.14
+description: >
+  Array.prototype.lastIndexOf.name is "lastIndexOf".
+info: >
+  Array.prototype.lastIndexOf ( searchElement [ , fromIndex ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.lastIndexOf.name, "lastIndexOf");
+
+verifyNotEnumerable(Array.prototype.lastIndexOf, "name");
+verifyNotWritable(Array.prototype.lastIndexOf, "name");
+verifyConfigurable(Array.prototype.lastIndexOf, "name");
diff --git a/test/built-ins/Array/prototype/map/name.js b/test/built-ins/Array/prototype/map/name.js
new file mode 100755
index 0000000000..7869f819bc
--- /dev/null
+++ b/test/built-ins/Array/prototype/map/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.15
+description: >
+  Array.prototype.map.name is "map".
+info: >
+  Array.prototype.map ( callbackfn [ , thisArg ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.map.name, "map");
+
+verifyNotEnumerable(Array.prototype.map, "name");
+verifyNotWritable(Array.prototype.map, "name");
+verifyConfigurable(Array.prototype.map, "name");
diff --git a/test/built-ins/Array/prototype/pop/name.js b/test/built-ins/Array/prototype/pop/name.js
new file mode 100755
index 0000000000..6facd522e4
--- /dev/null
+++ b/test/built-ins/Array/prototype/pop/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.16
+description: >
+  Array.prototype.pop.name is "pop".
+info: >
+  Array.prototype.pop ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.pop.name, "pop");
+
+verifyNotEnumerable(Array.prototype.pop, "name");
+verifyNotWritable(Array.prototype.pop, "name");
+verifyConfigurable(Array.prototype.pop, "name");
diff --git a/test/built-ins/Array/prototype/push/name.js b/test/built-ins/Array/prototype/push/name.js
new file mode 100755
index 0000000000..296e9ffdf9
--- /dev/null
+++ b/test/built-ins/Array/prototype/push/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.17
+description: >
+  Array.prototype.push.name is "push".
+info: >
+  Array.prototype.push ( ...items )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.push.name, "push");
+
+verifyNotEnumerable(Array.prototype.push, "name");
+verifyNotWritable(Array.prototype.push, "name");
+verifyConfigurable(Array.prototype.push, "name");
diff --git a/test/built-ins/Array/prototype/reduce/name.js b/test/built-ins/Array/prototype/reduce/name.js
new file mode 100755
index 0000000000..db8087ab26
--- /dev/null
+++ b/test/built-ins/Array/prototype/reduce/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.18
+description: >
+  Array.prototype.reduce.name is "reduce".
+info: >
+  Array.prototype.reduce ( callbackfn [ , initialValue ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.reduce.name, "reduce");
+
+verifyNotEnumerable(Array.prototype.reduce, "name");
+verifyNotWritable(Array.prototype.reduce, "name");
+verifyConfigurable(Array.prototype.reduce, "name");
diff --git a/test/built-ins/Array/prototype/reduceRight/name.js b/test/built-ins/Array/prototype/reduceRight/name.js
new file mode 100755
index 0000000000..997d3091d8
--- /dev/null
+++ b/test/built-ins/Array/prototype/reduceRight/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.19
+description: >
+  Array.prototype.reduceRight.name is "reduceRight".
+info: >
+  Array.prototype.reduceRight ( callbackfn [ , initialValue ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.reduceRight.name, "reduceRight");
+
+verifyNotEnumerable(Array.prototype.reduceRight, "name");
+verifyNotWritable(Array.prototype.reduceRight, "name");
+verifyConfigurable(Array.prototype.reduceRight, "name");
diff --git a/test/built-ins/Array/prototype/reverse/name.js b/test/built-ins/Array/prototype/reverse/name.js
new file mode 100755
index 0000000000..a1be6222c3
--- /dev/null
+++ b/test/built-ins/Array/prototype/reverse/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.20
+description: >
+  Array.prototype.reverse.name is "reverse".
+info: >
+  Array.prototype.reverse ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.reverse.name, "reverse");
+
+verifyNotEnumerable(Array.prototype.reverse, "name");
+verifyNotWritable(Array.prototype.reverse, "name");
+verifyConfigurable(Array.prototype.reverse, "name");
diff --git a/test/built-ins/Array/prototype/shift/name.js b/test/built-ins/Array/prototype/shift/name.js
new file mode 100755
index 0000000000..0f0700280f
--- /dev/null
+++ b/test/built-ins/Array/prototype/shift/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.21
+description: >
+  Array.prototype.shift.name is "shift".
+info: >
+  Array.prototype.shift ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.shift.name, "shift");
+
+verifyNotEnumerable(Array.prototype.shift, "name");
+verifyNotWritable(Array.prototype.shift, "name");
+verifyConfigurable(Array.prototype.shift, "name");
diff --git a/test/built-ins/Array/prototype/slice/name.js b/test/built-ins/Array/prototype/slice/name.js
new file mode 100755
index 0000000000..1315400d38
--- /dev/null
+++ b/test/built-ins/Array/prototype/slice/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.22
+description: >
+  Array.prototype.slice.name is "slice".
+info: >
+  Array.prototype.slice (start, end)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.slice.name, "slice");
+
+verifyNotEnumerable(Array.prototype.slice, "name");
+verifyNotWritable(Array.prototype.slice, "name");
+verifyConfigurable(Array.prototype.slice, "name");
diff --git a/test/built-ins/Array/prototype/some/name.js b/test/built-ins/Array/prototype/some/name.js
new file mode 100755
index 0000000000..c6b1d031a8
--- /dev/null
+++ b/test/built-ins/Array/prototype/some/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.23
+description: >
+  Array.prototype.some.name is "some".
+info: >
+  Array.prototype.some ( callbackfn [ , thisArg ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.some.name, "some");
+
+verifyNotEnumerable(Array.prototype.some, "name");
+verifyNotWritable(Array.prototype.some, "name");
+verifyConfigurable(Array.prototype.some, "name");
diff --git a/test/built-ins/Array/prototype/sort/name.js b/test/built-ins/Array/prototype/sort/name.js
new file mode 100755
index 0000000000..d7b9905a95
--- /dev/null
+++ b/test/built-ins/Array/prototype/sort/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.24
+description: >
+  Array.prototype.sort.name is "sort".
+info: >
+  Array.prototype.sort (comparefn)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.sort.name, "sort");
+
+verifyNotEnumerable(Array.prototype.sort, "name");
+verifyNotWritable(Array.prototype.sort, "name");
+verifyConfigurable(Array.prototype.sort, "name");
diff --git a/test/built-ins/Array/prototype/splice/name.js b/test/built-ins/Array/prototype/splice/name.js
new file mode 100755
index 0000000000..7dd3bf5e79
--- /dev/null
+++ b/test/built-ins/Array/prototype/splice/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.25
+description: >
+  Array.prototype.splice.name is "splice".
+info: >
+  Array.prototype.splice (start, deleteCount , ...items )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.splice.name, "splice");
+
+verifyNotEnumerable(Array.prototype.splice, "name");
+verifyNotWritable(Array.prototype.splice, "name");
+verifyConfigurable(Array.prototype.splice, "name");
diff --git a/test/built-ins/Array/prototype/toLocaleString/name.js b/test/built-ins/Array/prototype/toLocaleString/name.js
new file mode 100755
index 0000000000..581819b6f8
--- /dev/null
+++ b/test/built-ins/Array/prototype/toLocaleString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.26
+description: >
+  Array.prototype.toLocaleString.name is "toLocaleString".
+info: >
+  Array.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.toLocaleString.name, "toLocaleString");
+
+verifyNotEnumerable(Array.prototype.toLocaleString, "name");
+verifyNotWritable(Array.prototype.toLocaleString, "name");
+verifyConfigurable(Array.prototype.toLocaleString, "name");
diff --git a/test/built-ins/Array/prototype/toString/name.js b/test/built-ins/Array/prototype/toString/name.js
new file mode 100755
index 0000000000..efb07edeec
--- /dev/null
+++ b/test/built-ins/Array/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.27
+description: >
+  Array.prototype.toString.name is "toString".
+info: >
+  Array.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Array.prototype.toString, "name");
+verifyNotWritable(Array.prototype.toString, "name");
+verifyConfigurable(Array.prototype.toString, "name");
diff --git a/test/built-ins/Array/prototype/unshift/name.js b/test/built-ins/Array/prototype/unshift/name.js
new file mode 100755
index 0000000000..536c78c5e6
--- /dev/null
+++ b/test/built-ins/Array/prototype/unshift/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.3.28
+description: >
+  Array.prototype.unshift.name is "unshift".
+info: >
+  Array.prototype.unshift ( ...items )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Array.prototype.unshift.name, "unshift");
+
+verifyNotEnumerable(Array.prototype.unshift, "name");
+verifyNotWritable(Array.prototype.unshift, "name");
+verifyConfigurable(Array.prototype.unshift, "name");
diff --git a/test/built-ins/ArrayBuffer/Symbol.species/length.js b/test/built-ins/ArrayBuffer/Symbol.species/length.js
new file mode 100755
index 0000000000..fe55fc4a39
--- /dev/null
+++ b/test/built-ins/ArrayBuffer/Symbol.species/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.1.3.3
+description: >
+  get ArrayBuffer [ @@species ].length is 0.
+info: >
+  get ArrayBuffer [ @@species ]
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.species]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(ArrayBuffer, Symbol.species);
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/ArrayBuffer/isView/length.js b/test/built-ins/ArrayBuffer/isView/length.js
new file mode 100755
index 0000000000..f08bd16628
--- /dev/null
+++ b/test/built-ins/ArrayBuffer/isView/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.1.3.1
+description: >
+  ArrayBuffer.isView.length is 1.
+info: >
+  ArrayBuffer.isView ( arg )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(ArrayBuffer.isView.length, 1);
+
+verifyNotEnumerable(ArrayBuffer.isView, "length");
+verifyNotWritable(ArrayBuffer.isView, "length");
+verifyConfigurable(ArrayBuffer.isView, "length");
diff --git a/test/built-ins/ArrayBuffer/isView/name.js b/test/built-ins/ArrayBuffer/isView/name.js
new file mode 100755
index 0000000000..2db379d2eb
--- /dev/null
+++ b/test/built-ins/ArrayBuffer/isView/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.1.3.1
+description: >
+  ArrayBuffer.isView.name is "isView".
+info: >
+  ArrayBuffer.isView ( arg )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(ArrayBuffer.isView.name, "isView");
+
+verifyNotEnumerable(ArrayBuffer.isView, "name");
+verifyNotWritable(ArrayBuffer.isView, "name");
+verifyConfigurable(ArrayBuffer.isView, "name");
diff --git a/test/built-ins/ArrayBuffer/prototype/byteLength/length.js b/test/built-ins/ArrayBuffer/prototype/byteLength/length.js
new file mode 100755
index 0000000000..942f322f62
--- /dev/null
+++ b/test/built-ins/ArrayBuffer/prototype/byteLength/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.1.4.1
+description: >
+  get ArrayBuffer.prototype.byteLength.length is 0.
+info: >
+  get ArrayBuffer.prototype.byteLength
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/ArrayIteratorPrototype/next/length.js b/test/built-ins/ArrayIteratorPrototype/next/length.js
new file mode 100755
index 0000000000..dfef2e6c19
--- /dev/null
+++ b/test/built-ins/ArrayIteratorPrototype/next/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.5.2.1
+description: >
+  %ArrayIteratorPrototype%.next.length is 0.
+info: >
+  %ArrayIteratorPrototype%.next( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var ArrayIteratorProto = Object.getPrototypeOf([][Symbol.iterator]());
+
+assert.sameValue(ArrayIteratorProto.next.length, 0);
+
+verifyNotEnumerable(ArrayIteratorProto.next, "length");
+verifyNotWritable(ArrayIteratorProto.next, "length");
+verifyConfigurable(ArrayIteratorProto.next, "length");
diff --git a/test/built-ins/ArrayIteratorPrototype/next/name.js b/test/built-ins/ArrayIteratorPrototype/next/name.js
new file mode 100755
index 0000000000..02fc021255
--- /dev/null
+++ b/test/built-ins/ArrayIteratorPrototype/next/name.js
@@ -0,0 +1,28 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 22.1.5.2.1
+description: >
+  %ArrayIteratorPrototype%.next.name is "next".
+info: >
+  %ArrayIteratorPrototype%.next( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var ArrayIteratorProto = Object.getPrototypeOf([][Symbol.iterator]());
+
+assert.sameValue(ArrayIteratorProto.next.name, "next");
+
+verifyNotEnumerable(ArrayIteratorProto.next, "name");
+verifyNotWritable(ArrayIteratorProto.next, "name");
+verifyConfigurable(ArrayIteratorProto.next, "name");
diff --git a/test/built-ins/Boolean/prototype/toString/length.js b/test/built-ins/Boolean/prototype/toString/length.js
new file mode 100755
index 0000000000..7b9efa8597
--- /dev/null
+++ b/test/built-ins/Boolean/prototype/toString/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.3.3.2
+description: >
+  Boolean.prototype.toString.length is 0.
+info: >
+  Boolean.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Boolean.prototype.toString.length, 0);
+
+verifyNotEnumerable(Boolean.prototype.toString, "length");
+verifyNotWritable(Boolean.prototype.toString, "length");
+verifyConfigurable(Boolean.prototype.toString, "length");
diff --git a/test/built-ins/Boolean/prototype/toString/name.js b/test/built-ins/Boolean/prototype/toString/name.js
new file mode 100755
index 0000000000..799242fbdf
--- /dev/null
+++ b/test/built-ins/Boolean/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.3.3.2
+description: >
+  Boolean.prototype.toString.name is "toString".
+info: >
+  Boolean.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Boolean.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Boolean.prototype.toString, "name");
+verifyNotWritable(Boolean.prototype.toString, "name");
+verifyConfigurable(Boolean.prototype.toString, "name");
diff --git a/test/built-ins/Boolean/prototype/valueOf/length.js b/test/built-ins/Boolean/prototype/valueOf/length.js
new file mode 100755
index 0000000000..2db7334326
--- /dev/null
+++ b/test/built-ins/Boolean/prototype/valueOf/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.3.3.3
+description: >
+  Boolean.prototype.valueOf.length is 0.
+info: >
+  Boolean.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Boolean.prototype.valueOf.length, 0);
+
+verifyNotEnumerable(Boolean.prototype.valueOf, "length");
+verifyNotWritable(Boolean.prototype.valueOf, "length");
+verifyConfigurable(Boolean.prototype.valueOf, "length");
diff --git a/test/built-ins/Boolean/prototype/valueOf/name.js b/test/built-ins/Boolean/prototype/valueOf/name.js
new file mode 100755
index 0000000000..c8c735064e
--- /dev/null
+++ b/test/built-ins/Boolean/prototype/valueOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.3.3.3
+description: >
+  Boolean.prototype.valueOf.name is "valueOf".
+info: >
+  Boolean.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Boolean.prototype.valueOf.name, "valueOf");
+
+verifyNotEnumerable(Boolean.prototype.valueOf, "name");
+verifyNotWritable(Boolean.prototype.valueOf, "name");
+verifyConfigurable(Boolean.prototype.valueOf, "name");
diff --git a/test/built-ins/DataView/prototype/buffer/length.js b/test/built-ins/DataView/prototype/buffer/length.js
new file mode 100755
index 0000000000..6d71e9f6c5
--- /dev/null
+++ b/test/built-ins/DataView/prototype/buffer/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.1
+description: >
+  get DataView.prototype.buffer.length is 0.
+info: >
+  get DataView.prototype.buffer
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(DataView.prototype, "buffer");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/DataView/prototype/byteLength/length.js b/test/built-ins/DataView/prototype/byteLength/length.js
new file mode 100755
index 0000000000..da9e6af88e
--- /dev/null
+++ b/test/built-ins/DataView/prototype/byteLength/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.2
+description: >
+  get DataView.prototype.byteLength.length is 0.
+info: >
+  get DataView.prototype.byteLength
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(DataView.prototype, "byteLength");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/DataView/prototype/byteOffset/length.js b/test/built-ins/DataView/prototype/byteOffset/length.js
new file mode 100755
index 0000000000..d6290c82bf
--- /dev/null
+++ b/test/built-ins/DataView/prototype/byteOffset/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.3
+description: >
+  get DataView.prototype.byteOffset.length is 0.
+info: >
+  get DataView.prototype.byteOffset
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(DataView.prototype, "byteOffset");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/DataView/prototype/getFloat32/length.js b/test/built-ins/DataView/prototype/getFloat32/length.js
new file mode 100755
index 0000000000..e349ab252e
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getFloat32/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.getFloat32.length is 1.
+info: >
+  DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getFloat32.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getFloat32, "length");
+verifyNotWritable(DataView.prototype.getFloat32, "length");
+verifyConfigurable(DataView.prototype.getFloat32, "length");
diff --git a/test/built-ins/DataView/prototype/getFloat32/name.js b/test/built-ins/DataView/prototype/getFloat32/name.js
new file mode 100755
index 0000000000..b0afb76fba
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getFloat32/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.5
+description: >
+  DataView.prototype.getFloat32.name is "getFloat32".
+info: >
+  DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getFloat32.name, "getFloat32");
+
+verifyNotEnumerable(DataView.prototype.getFloat32, "name");
+verifyNotWritable(DataView.prototype.getFloat32, "name");
+verifyConfigurable(DataView.prototype.getFloat32, "name");
diff --git a/test/built-ins/DataView/prototype/getFloat64/length.js b/test/built-ins/DataView/prototype/getFloat64/length.js
new file mode 100755
index 0000000000..5e2cb57f8c
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getFloat64/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.getFloat64.length is 1.
+info: >
+  DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getFloat64.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getFloat64, "length");
+verifyNotWritable(DataView.prototype.getFloat64, "length");
+verifyConfigurable(DataView.prototype.getFloat64, "length");
diff --git a/test/built-ins/DataView/prototype/getFloat64/name.js b/test/built-ins/DataView/prototype/getFloat64/name.js
new file mode 100755
index 0000000000..7d7301c4fd
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getFloat64/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.6
+description: >
+  DataView.prototype.getFloat64.name is "getFloat64".
+info: >
+  DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getFloat64.name, "getFloat64");
+
+verifyNotEnumerable(DataView.prototype.getFloat64, "name");
+verifyNotWritable(DataView.prototype.getFloat64, "name");
+verifyConfigurable(DataView.prototype.getFloat64, "name");
diff --git a/test/built-ins/DataView/prototype/getInt16/length.js b/test/built-ins/DataView/prototype/getInt16/length.js
new file mode 100755
index 0000000000..cf0e589a76
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getInt16/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.getInt16.length is 1.
+info: >
+  DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getInt16.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getInt16, "length");
+verifyNotWritable(DataView.prototype.getInt16, "length");
+verifyConfigurable(DataView.prototype.getInt16, "length");
diff --git a/test/built-ins/DataView/prototype/getInt16/name.js b/test/built-ins/DataView/prototype/getInt16/name.js
new file mode 100755
index 0000000000..b61bb435e9
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getInt16/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.8
+description: >
+  DataView.prototype.getInt16.name is "getInt16".
+info: >
+  DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getInt16.name, "getInt16");
+
+verifyNotEnumerable(DataView.prototype.getInt16, "name");
+verifyNotWritable(DataView.prototype.getInt16, "name");
+verifyConfigurable(DataView.prototype.getInt16, "name");
diff --git a/test/built-ins/DataView/prototype/getInt32/length.js b/test/built-ins/DataView/prototype/getInt32/length.js
new file mode 100755
index 0000000000..e8651ec7f7
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getInt32/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.getInt32.length is 1.
+info: >
+  DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getInt32.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getInt32, "length");
+verifyNotWritable(DataView.prototype.getInt32, "length");
+verifyConfigurable(DataView.prototype.getInt32, "length");
diff --git a/test/built-ins/DataView/prototype/getInt32/name.js b/test/built-ins/DataView/prototype/getInt32/name.js
new file mode 100755
index 0000000000..1e1e408c04
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getInt32/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.9
+description: >
+  DataView.prototype.getInt32.name is "getInt32".
+info: >
+  DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getInt32.name, "getInt32");
+
+verifyNotEnumerable(DataView.prototype.getInt32, "name");
+verifyNotWritable(DataView.prototype.getInt32, "name");
+verifyConfigurable(DataView.prototype.getInt32, "name");
diff --git a/test/built-ins/DataView/prototype/getInt8/length.js b/test/built-ins/DataView/prototype/getInt8/length.js
new file mode 100755
index 0000000000..c1ca98b455
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getInt8/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.7
+description: >
+  DataView.prototype.getInt8.length is 1.
+info: >
+  DataView.prototype.getInt8 ( byteOffset )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getInt8.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getInt8, "length");
+verifyNotWritable(DataView.prototype.getInt8, "length");
+verifyConfigurable(DataView.prototype.getInt8, "length");
diff --git a/test/built-ins/DataView/prototype/getInt8/name.js b/test/built-ins/DataView/prototype/getInt8/name.js
new file mode 100755
index 0000000000..8fb9493a54
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getInt8/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.7
+description: >
+  DataView.prototype.getInt8.name is "getInt8".
+info: >
+  DataView.prototype.getInt8 ( byteOffset )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getInt8.name, "getInt8");
+
+verifyNotEnumerable(DataView.prototype.getInt8, "name");
+verifyNotWritable(DataView.prototype.getInt8, "name");
+verifyConfigurable(DataView.prototype.getInt8, "name");
diff --git a/test/built-ins/DataView/prototype/getUint16/length.js b/test/built-ins/DataView/prototype/getUint16/length.js
new file mode 100755
index 0000000000..f092ec2b5b
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getUint16/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.getUint16.length is 1.
+info: >
+  DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getUint16.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getUint16, "length");
+verifyNotWritable(DataView.prototype.getUint16, "length");
+verifyConfigurable(DataView.prototype.getUint16, "length");
diff --git a/test/built-ins/DataView/prototype/getUint16/name.js b/test/built-ins/DataView/prototype/getUint16/name.js
new file mode 100755
index 0000000000..754db7d793
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getUint16/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.11
+description: >
+  DataView.prototype.getUint16.name is "getUint16".
+info: >
+  DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getUint16.name, "getUint16");
+
+verifyNotEnumerable(DataView.prototype.getUint16, "name");
+verifyNotWritable(DataView.prototype.getUint16, "name");
+verifyConfigurable(DataView.prototype.getUint16, "name");
diff --git a/test/built-ins/DataView/prototype/getUint32/length.js b/test/built-ins/DataView/prototype/getUint32/length.js
new file mode 100755
index 0000000000..fd7f821218
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getUint32/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.getUint32.length is 1.
+info: >
+  DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getUint32.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getUint32, "length");
+verifyNotWritable(DataView.prototype.getUint32, "length");
+verifyConfigurable(DataView.prototype.getUint32, "length");
diff --git a/test/built-ins/DataView/prototype/getUint32/name.js b/test/built-ins/DataView/prototype/getUint32/name.js
new file mode 100755
index 0000000000..fc022c26da
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getUint32/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.12
+description: >
+  DataView.prototype.getUint32.name is "getUint32".
+info: >
+  DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getUint32.name, "getUint32");
+
+verifyNotEnumerable(DataView.prototype.getUint32, "name");
+verifyNotWritable(DataView.prototype.getUint32, "name");
+verifyConfigurable(DataView.prototype.getUint32, "name");
diff --git a/test/built-ins/DataView/prototype/getUint8/length.js b/test/built-ins/DataView/prototype/getUint8/length.js
new file mode 100755
index 0000000000..cce0cd844a
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getUint8/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.10
+description: >
+  DataView.prototype.getUint8.length is 1.
+info: >
+  DataView.prototype.getUint8 ( byteOffset )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getUint8.length, 1);
+
+verifyNotEnumerable(DataView.prototype.getUint8, "length");
+verifyNotWritable(DataView.prototype.getUint8, "length");
+verifyConfigurable(DataView.prototype.getUint8, "length");
diff --git a/test/built-ins/DataView/prototype/getUint8/name.js b/test/built-ins/DataView/prototype/getUint8/name.js
new file mode 100755
index 0000000000..269197af46
--- /dev/null
+++ b/test/built-ins/DataView/prototype/getUint8/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.10
+description: >
+  DataView.prototype.getUint8.name is "getUint8".
+info: >
+  DataView.prototype.getUint8 ( byteOffset )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.getUint8.name, "getUint8");
+
+verifyNotEnumerable(DataView.prototype.getUint8, "name");
+verifyNotWritable(DataView.prototype.getUint8, "name");
+verifyConfigurable(DataView.prototype.getUint8, "name");
diff --git a/test/built-ins/DataView/prototype/setFloat32/length.js b/test/built-ins/DataView/prototype/setFloat32/length.js
new file mode 100755
index 0000000000..832fd73590
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setFloat32/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.setFloat32.length is 2.
+info: >
+  DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setFloat32.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setFloat32, "length");
+verifyNotWritable(DataView.prototype.setFloat32, "length");
+verifyConfigurable(DataView.prototype.setFloat32, "length");
diff --git a/test/built-ins/DataView/prototype/setFloat32/name.js b/test/built-ins/DataView/prototype/setFloat32/name.js
new file mode 100755
index 0000000000..6435989ebd
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setFloat32/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.13
+description: >
+  DataView.prototype.setFloat32.name is "setFloat32".
+info: >
+  DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setFloat32.name, "setFloat32");
+
+verifyNotEnumerable(DataView.prototype.setFloat32, "name");
+verifyNotWritable(DataView.prototype.setFloat32, "name");
+verifyConfigurable(DataView.prototype.setFloat32, "name");
diff --git a/test/built-ins/DataView/prototype/setFloat64/length.js b/test/built-ins/DataView/prototype/setFloat64/length.js
new file mode 100755
index 0000000000..df566d6d3a
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setFloat64/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.setFloat64.length is 2.
+info: >
+  DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setFloat64.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setFloat64, "length");
+verifyNotWritable(DataView.prototype.setFloat64, "length");
+verifyConfigurable(DataView.prototype.setFloat64, "length");
diff --git a/test/built-ins/DataView/prototype/setFloat64/name.js b/test/built-ins/DataView/prototype/setFloat64/name.js
new file mode 100755
index 0000000000..ffacf4048c
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setFloat64/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.14
+description: >
+  DataView.prototype.setFloat64.name is "setFloat64".
+info: >
+  DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setFloat64.name, "setFloat64");
+
+verifyNotEnumerable(DataView.prototype.setFloat64, "name");
+verifyNotWritable(DataView.prototype.setFloat64, "name");
+verifyConfigurable(DataView.prototype.setFloat64, "name");
diff --git a/test/built-ins/DataView/prototype/setInt16/length.js b/test/built-ins/DataView/prototype/setInt16/length.js
new file mode 100755
index 0000000000..7685da563e
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setInt16/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.setInt16.length is 2.
+info: >
+  DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setInt16.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setInt16, "length");
+verifyNotWritable(DataView.prototype.setInt16, "length");
+verifyConfigurable(DataView.prototype.setInt16, "length");
diff --git a/test/built-ins/DataView/prototype/setInt16/name.js b/test/built-ins/DataView/prototype/setInt16/name.js
new file mode 100755
index 0000000000..44591dd4a2
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setInt16/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.16
+description: >
+  DataView.prototype.setInt16.name is "setInt16".
+info: >
+  DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setInt16.name, "setInt16");
+
+verifyNotEnumerable(DataView.prototype.setInt16, "name");
+verifyNotWritable(DataView.prototype.setInt16, "name");
+verifyConfigurable(DataView.prototype.setInt16, "name");
diff --git a/test/built-ins/DataView/prototype/setInt32/length.js b/test/built-ins/DataView/prototype/setInt32/length.js
new file mode 100755
index 0000000000..5150739dfb
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setInt32/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.setInt32.length is 2.
+info: >
+  DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setInt32.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setInt32, "length");
+verifyNotWritable(DataView.prototype.setInt32, "length");
+verifyConfigurable(DataView.prototype.setInt32, "length");
diff --git a/test/built-ins/DataView/prototype/setInt32/name.js b/test/built-ins/DataView/prototype/setInt32/name.js
new file mode 100755
index 0000000000..e62e1bf463
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setInt32/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.17
+description: >
+  DataView.prototype.setInt32.name is "setInt32".
+info: >
+  DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setInt32.name, "setInt32");
+
+verifyNotEnumerable(DataView.prototype.setInt32, "name");
+verifyNotWritable(DataView.prototype.setInt32, "name");
+verifyConfigurable(DataView.prototype.setInt32, "name");
diff --git a/test/built-ins/DataView/prototype/setInt8/length.js b/test/built-ins/DataView/prototype/setInt8/length.js
new file mode 100755
index 0000000000..8120cd2117
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setInt8/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.15
+description: >
+  DataView.prototype.setInt8.length is 2.
+info: >
+  DataView.prototype.setInt8 ( byteOffset, value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setInt8.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setInt8, "length");
+verifyNotWritable(DataView.prototype.setInt8, "length");
+verifyConfigurable(DataView.prototype.setInt8, "length");
diff --git a/test/built-ins/DataView/prototype/setInt8/name.js b/test/built-ins/DataView/prototype/setInt8/name.js
new file mode 100755
index 0000000000..e0c1eafec3
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setInt8/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.15
+description: >
+  DataView.prototype.setInt8.name is "setInt8".
+info: >
+  DataView.prototype.setInt8 ( byteOffset, value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setInt8.name, "setInt8");
+
+verifyNotEnumerable(DataView.prototype.setInt8, "name");
+verifyNotWritable(DataView.prototype.setInt8, "name");
+verifyConfigurable(DataView.prototype.setInt8, "name");
diff --git a/test/built-ins/DataView/prototype/setUint16/length.js b/test/built-ins/DataView/prototype/setUint16/length.js
new file mode 100755
index 0000000000..541d8f1f17
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setUint16/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.setUint16.length is 2.
+info: >
+  DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setUint16.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setUint16, "length");
+verifyNotWritable(DataView.prototype.setUint16, "length");
+verifyConfigurable(DataView.prototype.setUint16, "length");
diff --git a/test/built-ins/DataView/prototype/setUint16/name.js b/test/built-ins/DataView/prototype/setUint16/name.js
new file mode 100755
index 0000000000..957241547b
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setUint16/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.19
+description: >
+  DataView.prototype.setUint16.name is "setUint16".
+info: >
+  DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setUint16.name, "setUint16");
+
+verifyNotEnumerable(DataView.prototype.setUint16, "name");
+verifyNotWritable(DataView.prototype.setUint16, "name");
+verifyConfigurable(DataView.prototype.setUint16, "name");
diff --git a/test/built-ins/DataView/prototype/setUint32/length.js b/test/built-ins/DataView/prototype/setUint32/length.js
new file mode 100755
index 0000000000..ebbf330cfe
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setUint32/length.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es7id: pending
+description: >
+  DataView.prototype.setUint32.length is 2.
+info: >
+  DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description. Optional parameters
+    (which are indicated with brackets: [ ]) or rest parameters (which
+    are shown using the form «...name») are not included in the default
+    argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setUint32.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setUint32, "length");
+verifyNotWritable(DataView.prototype.setUint32, "length");
+verifyConfigurable(DataView.prototype.setUint32, "length");
diff --git a/test/built-ins/DataView/prototype/setUint32/name.js b/test/built-ins/DataView/prototype/setUint32/name.js
new file mode 100755
index 0000000000..dda373f1f0
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setUint32/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.20
+description: >
+  DataView.prototype.setUint32.name is "setUint32".
+info: >
+  DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setUint32.name, "setUint32");
+
+verifyNotEnumerable(DataView.prototype.setUint32, "name");
+verifyNotWritable(DataView.prototype.setUint32, "name");
+verifyConfigurable(DataView.prototype.setUint32, "name");
diff --git a/test/built-ins/DataView/prototype/setUint8/length.js b/test/built-ins/DataView/prototype/setUint8/length.js
new file mode 100755
index 0000000000..6c868a7da7
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setUint8/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.18
+description: >
+  DataView.prototype.setUint8.length is 2.
+info: >
+  DataView.prototype.setUint8 ( byteOffset, value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setUint8.length, 2);
+
+verifyNotEnumerable(DataView.prototype.setUint8, "length");
+verifyNotWritable(DataView.prototype.setUint8, "length");
+verifyConfigurable(DataView.prototype.setUint8, "length");
diff --git a/test/built-ins/DataView/prototype/setUint8/name.js b/test/built-ins/DataView/prototype/setUint8/name.js
new file mode 100755
index 0000000000..8333822b11
--- /dev/null
+++ b/test/built-ins/DataView/prototype/setUint8/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.2.4.18
+description: >
+  DataView.prototype.setUint8.name is "setUint8".
+info: >
+  DataView.prototype.setUint8 ( byteOffset, value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(DataView.prototype.setUint8.name, "setUint8");
+
+verifyNotEnumerable(DataView.prototype.setUint8, "name");
+verifyNotWritable(DataView.prototype.setUint8, "name");
+verifyConfigurable(DataView.prototype.setUint8, "name");
diff --git a/test/built-ins/Date/UTC/name.js b/test/built-ins/Date/UTC/name.js
new file mode 100755
index 0000000000..4f53387c1b
--- /dev/null
+++ b/test/built-ins/Date/UTC/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.3.4
+description: >
+  Date.UTC.name is "UTC".
+info: >
+  Date.UTC ( year, month [ , date [ , hours [ , minutes [ , seconds [ , ms ] ] ] ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.UTC.name, "UTC");
+
+verifyNotEnumerable(Date.UTC, "name");
+verifyNotWritable(Date.UTC, "name");
+verifyConfigurable(Date.UTC, "name");
diff --git a/test/built-ins/Date/now/name.js b/test/built-ins/Date/now/name.js
new file mode 100755
index 0000000000..65c007d086
--- /dev/null
+++ b/test/built-ins/Date/now/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.3.1
+description: >
+  Date.now.name is "now".
+info: >
+  Date.now ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.now.name, "now");
+
+verifyNotEnumerable(Date.now, "name");
+verifyNotWritable(Date.now, "name");
+verifyConfigurable(Date.now, "name");
diff --git a/test/built-ins/Date/parse/name.js b/test/built-ins/Date/parse/name.js
new file mode 100755
index 0000000000..446c06b9d6
--- /dev/null
+++ b/test/built-ins/Date/parse/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.3.2
+description: >
+  Date.parse.name is "parse".
+info: >
+  Date.parse ( string )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.parse.name, "parse");
+
+verifyNotEnumerable(Date.parse, "name");
+verifyNotWritable(Date.parse, "name");
+verifyConfigurable(Date.parse, "name");
diff --git a/test/built-ins/Date/prototype/getDate/name.js b/test/built-ins/Date/prototype/getDate/name.js
new file mode 100755
index 0000000000..4843a59d1f
--- /dev/null
+++ b/test/built-ins/Date/prototype/getDate/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.2
+description: >
+  Date.prototype.getDate.name is "getDate".
+info: >
+  Date.prototype.getDate ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getDate.name, "getDate");
+
+verifyNotEnumerable(Date.prototype.getDate, "name");
+verifyNotWritable(Date.prototype.getDate, "name");
+verifyConfigurable(Date.prototype.getDate, "name");
diff --git a/test/built-ins/Date/prototype/getDay/name.js b/test/built-ins/Date/prototype/getDay/name.js
new file mode 100755
index 0000000000..edd034dfda
--- /dev/null
+++ b/test/built-ins/Date/prototype/getDay/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.3
+description: >
+  Date.prototype.getDay.name is "getDay".
+info: >
+  Date.prototype.getDay ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getDay.name, "getDay");
+
+verifyNotEnumerable(Date.prototype.getDay, "name");
+verifyNotWritable(Date.prototype.getDay, "name");
+verifyConfigurable(Date.prototype.getDay, "name");
diff --git a/test/built-ins/Date/prototype/getFullYear/name.js b/test/built-ins/Date/prototype/getFullYear/name.js
new file mode 100755
index 0000000000..9411a16df6
--- /dev/null
+++ b/test/built-ins/Date/prototype/getFullYear/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.4
+description: >
+  Date.prototype.getFullYear.name is "getFullYear".
+info: >
+  Date.prototype.getFullYear ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getFullYear.name, "getFullYear");
+
+verifyNotEnumerable(Date.prototype.getFullYear, "name");
+verifyNotWritable(Date.prototype.getFullYear, "name");
+verifyConfigurable(Date.prototype.getFullYear, "name");
diff --git a/test/built-ins/Date/prototype/getHours/name.js b/test/built-ins/Date/prototype/getHours/name.js
new file mode 100755
index 0000000000..d9d4008e3b
--- /dev/null
+++ b/test/built-ins/Date/prototype/getHours/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.5
+description: >
+  Date.prototype.getHours.name is "getHours".
+info: >
+  Date.prototype.getHours ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getHours.name, "getHours");
+
+verifyNotEnumerable(Date.prototype.getHours, "name");
+verifyNotWritable(Date.prototype.getHours, "name");
+verifyConfigurable(Date.prototype.getHours, "name");
diff --git a/test/built-ins/Date/prototype/getMilliseconds/name.js b/test/built-ins/Date/prototype/getMilliseconds/name.js
new file mode 100755
index 0000000000..31c23ad2da
--- /dev/null
+++ b/test/built-ins/Date/prototype/getMilliseconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.6
+description: >
+  Date.prototype.getMilliseconds.name is "getMilliseconds".
+info: >
+  Date.prototype.getMilliseconds ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getMilliseconds.name, "getMilliseconds");
+
+verifyNotEnumerable(Date.prototype.getMilliseconds, "name");
+verifyNotWritable(Date.prototype.getMilliseconds, "name");
+verifyConfigurable(Date.prototype.getMilliseconds, "name");
diff --git a/test/built-ins/Date/prototype/getMinutes/name.js b/test/built-ins/Date/prototype/getMinutes/name.js
new file mode 100755
index 0000000000..dc5ce798ea
--- /dev/null
+++ b/test/built-ins/Date/prototype/getMinutes/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.7
+description: >
+  Date.prototype.getMinutes.name is "getMinutes".
+info: >
+  Date.prototype.getMinutes ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getMinutes.name, "getMinutes");
+
+verifyNotEnumerable(Date.prototype.getMinutes, "name");
+verifyNotWritable(Date.prototype.getMinutes, "name");
+verifyConfigurable(Date.prototype.getMinutes, "name");
diff --git a/test/built-ins/Date/prototype/getMonth/name.js b/test/built-ins/Date/prototype/getMonth/name.js
new file mode 100755
index 0000000000..044da6e25d
--- /dev/null
+++ b/test/built-ins/Date/prototype/getMonth/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.8
+description: >
+  Date.prototype.getMonth.name is "getMonth".
+info: >
+  Date.prototype.getMonth ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getMonth.name, "getMonth");
+
+verifyNotEnumerable(Date.prototype.getMonth, "name");
+verifyNotWritable(Date.prototype.getMonth, "name");
+verifyConfigurable(Date.prototype.getMonth, "name");
diff --git a/test/built-ins/Date/prototype/getSeconds/name.js b/test/built-ins/Date/prototype/getSeconds/name.js
new file mode 100755
index 0000000000..48fa7f0c92
--- /dev/null
+++ b/test/built-ins/Date/prototype/getSeconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.9
+description: >
+  Date.prototype.getSeconds.name is "getSeconds".
+info: >
+  Date.prototype.getSeconds ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getSeconds.name, "getSeconds");
+
+verifyNotEnumerable(Date.prototype.getSeconds, "name");
+verifyNotWritable(Date.prototype.getSeconds, "name");
+verifyConfigurable(Date.prototype.getSeconds, "name");
diff --git a/test/built-ins/Date/prototype/getTime/name.js b/test/built-ins/Date/prototype/getTime/name.js
new file mode 100755
index 0000000000..5f4ee79c70
--- /dev/null
+++ b/test/built-ins/Date/prototype/getTime/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.10
+description: >
+  Date.prototype.getTime.name is "getTime".
+info: >
+  Date.prototype.getTime ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getTime.name, "getTime");
+
+verifyNotEnumerable(Date.prototype.getTime, "name");
+verifyNotWritable(Date.prototype.getTime, "name");
+verifyConfigurable(Date.prototype.getTime, "name");
diff --git a/test/built-ins/Date/prototype/getTimezoneOffset/name.js b/test/built-ins/Date/prototype/getTimezoneOffset/name.js
new file mode 100755
index 0000000000..a556b718c2
--- /dev/null
+++ b/test/built-ins/Date/prototype/getTimezoneOffset/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.11
+description: >
+  Date.prototype.getTimezoneOffset.name is "getTimezoneOffset".
+info: >
+  Date.prototype.getTimezoneOffset ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getTimezoneOffset.name, "getTimezoneOffset");
+
+verifyNotEnumerable(Date.prototype.getTimezoneOffset, "name");
+verifyNotWritable(Date.prototype.getTimezoneOffset, "name");
+verifyConfigurable(Date.prototype.getTimezoneOffset, "name");
diff --git a/test/built-ins/Date/prototype/getUTCDate/name.js b/test/built-ins/Date/prototype/getUTCDate/name.js
new file mode 100755
index 0000000000..66fa820c9b
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCDate/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.12
+description: >
+  Date.prototype.getUTCDate.name is "getUTCDate".
+info: >
+  Date.prototype.getUTCDate ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCDate.name, "getUTCDate");
+
+verifyNotEnumerable(Date.prototype.getUTCDate, "name");
+verifyNotWritable(Date.prototype.getUTCDate, "name");
+verifyConfigurable(Date.prototype.getUTCDate, "name");
diff --git a/test/built-ins/Date/prototype/getUTCDay/name.js b/test/built-ins/Date/prototype/getUTCDay/name.js
new file mode 100755
index 0000000000..a8d3a53cc9
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCDay/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.13
+description: >
+  Date.prototype.getUTCDay.name is "getUTCDay".
+info: >
+  Date.prototype.getUTCDay ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCDay.name, "getUTCDay");
+
+verifyNotEnumerable(Date.prototype.getUTCDay, "name");
+verifyNotWritable(Date.prototype.getUTCDay, "name");
+verifyConfigurable(Date.prototype.getUTCDay, "name");
diff --git a/test/built-ins/Date/prototype/getUTCFullYear/name.js b/test/built-ins/Date/prototype/getUTCFullYear/name.js
new file mode 100755
index 0000000000..ff94ba40ca
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCFullYear/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.14
+description: >
+  Date.prototype.getUTCFullYear.name is "getUTCFullYear".
+info: >
+  Date.prototype.getUTCFullYear ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCFullYear.name, "getUTCFullYear");
+
+verifyNotEnumerable(Date.prototype.getUTCFullYear, "name");
+verifyNotWritable(Date.prototype.getUTCFullYear, "name");
+verifyConfigurable(Date.prototype.getUTCFullYear, "name");
diff --git a/test/built-ins/Date/prototype/getUTCHours/name.js b/test/built-ins/Date/prototype/getUTCHours/name.js
new file mode 100755
index 0000000000..118d7b1972
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCHours/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.15
+description: >
+  Date.prototype.getUTCHours.name is "getUTCHours".
+info: >
+  Date.prototype.getUTCHours ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCHours.name, "getUTCHours");
+
+verifyNotEnumerable(Date.prototype.getUTCHours, "name");
+verifyNotWritable(Date.prototype.getUTCHours, "name");
+verifyConfigurable(Date.prototype.getUTCHours, "name");
diff --git a/test/built-ins/Date/prototype/getUTCMilliseconds/name.js b/test/built-ins/Date/prototype/getUTCMilliseconds/name.js
new file mode 100755
index 0000000000..e3bd65423a
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCMilliseconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.16
+description: >
+  Date.prototype.getUTCMilliseconds.name is "getUTCMilliseconds".
+info: >
+  Date.prototype.getUTCMilliseconds ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCMilliseconds.name, "getUTCMilliseconds");
+
+verifyNotEnumerable(Date.prototype.getUTCMilliseconds, "name");
+verifyNotWritable(Date.prototype.getUTCMilliseconds, "name");
+verifyConfigurable(Date.prototype.getUTCMilliseconds, "name");
diff --git a/test/built-ins/Date/prototype/getUTCMinutes/name.js b/test/built-ins/Date/prototype/getUTCMinutes/name.js
new file mode 100755
index 0000000000..ff51f0de84
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCMinutes/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.17
+description: >
+  Date.prototype.getUTCMinutes.name is "getUTCMinutes".
+info: >
+  Date.prototype.getUTCMinutes ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCMinutes.name, "getUTCMinutes");
+
+verifyNotEnumerable(Date.prototype.getUTCMinutes, "name");
+verifyNotWritable(Date.prototype.getUTCMinutes, "name");
+verifyConfigurable(Date.prototype.getUTCMinutes, "name");
diff --git a/test/built-ins/Date/prototype/getUTCMonth/name.js b/test/built-ins/Date/prototype/getUTCMonth/name.js
new file mode 100755
index 0000000000..aebf599679
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCMonth/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.18
+description: >
+  Date.prototype.getUTCMonth.name is "getUTCMonth".
+info: >
+  Date.prototype.getUTCMonth ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCMonth.name, "getUTCMonth");
+
+verifyNotEnumerable(Date.prototype.getUTCMonth, "name");
+verifyNotWritable(Date.prototype.getUTCMonth, "name");
+verifyConfigurable(Date.prototype.getUTCMonth, "name");
diff --git a/test/built-ins/Date/prototype/getUTCSeconds/name.js b/test/built-ins/Date/prototype/getUTCSeconds/name.js
new file mode 100755
index 0000000000..260136df29
--- /dev/null
+++ b/test/built-ins/Date/prototype/getUTCSeconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.19
+description: >
+  Date.prototype.getUTCSeconds.name is "getUTCSeconds".
+info: >
+  Date.prototype.getUTCSeconds ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.getUTCSeconds.name, "getUTCSeconds");
+
+verifyNotEnumerable(Date.prototype.getUTCSeconds, "name");
+verifyNotWritable(Date.prototype.getUTCSeconds, "name");
+verifyConfigurable(Date.prototype.getUTCSeconds, "name");
diff --git a/test/built-ins/Date/prototype/setDate/name.js b/test/built-ins/Date/prototype/setDate/name.js
new file mode 100755
index 0000000000..8d66e4dc57
--- /dev/null
+++ b/test/built-ins/Date/prototype/setDate/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.20
+description: >
+  Date.prototype.setDate.name is "setDate".
+info: >
+  Date.prototype.setDate ( date )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setDate.name, "setDate");
+
+verifyNotEnumerable(Date.prototype.setDate, "name");
+verifyNotWritable(Date.prototype.setDate, "name");
+verifyConfigurable(Date.prototype.setDate, "name");
diff --git a/test/built-ins/Date/prototype/setFullYear/name.js b/test/built-ins/Date/prototype/setFullYear/name.js
new file mode 100755
index 0000000000..3d27544440
--- /dev/null
+++ b/test/built-ins/Date/prototype/setFullYear/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.21
+description: >
+  Date.prototype.setFullYear.name is "setFullYear".
+info: >
+  Date.prototype.setFullYear ( year [ , month [ , date ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setFullYear.name, "setFullYear");
+
+verifyNotEnumerable(Date.prototype.setFullYear, "name");
+verifyNotWritable(Date.prototype.setFullYear, "name");
+verifyConfigurable(Date.prototype.setFullYear, "name");
diff --git a/test/built-ins/Date/prototype/setHours/name.js b/test/built-ins/Date/prototype/setHours/name.js
new file mode 100755
index 0000000000..b1f415f87f
--- /dev/null
+++ b/test/built-ins/Date/prototype/setHours/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.22
+description: >
+  Date.prototype.setHours.name is "setHours".
+info: >
+  Date.prototype.setHours ( hour [ , min [ , sec [ , ms ] ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setHours.name, "setHours");
+
+verifyNotEnumerable(Date.prototype.setHours, "name");
+verifyNotWritable(Date.prototype.setHours, "name");
+verifyConfigurable(Date.prototype.setHours, "name");
diff --git a/test/built-ins/Date/prototype/setMilliseconds/name.js b/test/built-ins/Date/prototype/setMilliseconds/name.js
new file mode 100755
index 0000000000..ba14aaeeec
--- /dev/null
+++ b/test/built-ins/Date/prototype/setMilliseconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.23
+description: >
+  Date.prototype.setMilliseconds.name is "setMilliseconds".
+info: >
+  Date.prototype.setMilliseconds ( ms )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setMilliseconds.name, "setMilliseconds");
+
+verifyNotEnumerable(Date.prototype.setMilliseconds, "name");
+verifyNotWritable(Date.prototype.setMilliseconds, "name");
+verifyConfigurable(Date.prototype.setMilliseconds, "name");
diff --git a/test/built-ins/Date/prototype/setMinutes/name.js b/test/built-ins/Date/prototype/setMinutes/name.js
new file mode 100755
index 0000000000..4f287ade1d
--- /dev/null
+++ b/test/built-ins/Date/prototype/setMinutes/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.24
+description: >
+  Date.prototype.setMinutes.name is "setMinutes".
+info: >
+  Date.prototype.setMinutes ( min [ , sec [ , ms ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setMinutes.name, "setMinutes");
+
+verifyNotEnumerable(Date.prototype.setMinutes, "name");
+verifyNotWritable(Date.prototype.setMinutes, "name");
+verifyConfigurable(Date.prototype.setMinutes, "name");
diff --git a/test/built-ins/Date/prototype/setMonth/name.js b/test/built-ins/Date/prototype/setMonth/name.js
new file mode 100755
index 0000000000..f61a2dcfef
--- /dev/null
+++ b/test/built-ins/Date/prototype/setMonth/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.25
+description: >
+  Date.prototype.setMonth.name is "setMonth".
+info: >
+  Date.prototype.setMonth ( month [ , date ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setMonth.name, "setMonth");
+
+verifyNotEnumerable(Date.prototype.setMonth, "name");
+verifyNotWritable(Date.prototype.setMonth, "name");
+verifyConfigurable(Date.prototype.setMonth, "name");
diff --git a/test/built-ins/Date/prototype/setSeconds/name.js b/test/built-ins/Date/prototype/setSeconds/name.js
new file mode 100755
index 0000000000..dd06cd150b
--- /dev/null
+++ b/test/built-ins/Date/prototype/setSeconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.26
+description: >
+  Date.prototype.setSeconds.name is "setSeconds".
+info: >
+  Date.prototype.setSeconds ( sec [ , ms ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setSeconds.name, "setSeconds");
+
+verifyNotEnumerable(Date.prototype.setSeconds, "name");
+verifyNotWritable(Date.prototype.setSeconds, "name");
+verifyConfigurable(Date.prototype.setSeconds, "name");
diff --git a/test/built-ins/Date/prototype/setTime/name.js b/test/built-ins/Date/prototype/setTime/name.js
new file mode 100755
index 0000000000..b3ada24de8
--- /dev/null
+++ b/test/built-ins/Date/prototype/setTime/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.27
+description: >
+  Date.prototype.setTime.name is "setTime".
+info: >
+  Date.prototype.setTime ( time )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setTime.name, "setTime");
+
+verifyNotEnumerable(Date.prototype.setTime, "name");
+verifyNotWritable(Date.prototype.setTime, "name");
+verifyConfigurable(Date.prototype.setTime, "name");
diff --git a/test/built-ins/Date/prototype/setUTCDate/name.js b/test/built-ins/Date/prototype/setUTCDate/name.js
new file mode 100755
index 0000000000..be6694c439
--- /dev/null
+++ b/test/built-ins/Date/prototype/setUTCDate/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.28
+description: >
+  Date.prototype.setUTCDate.name is "setUTCDate".
+info: >
+  Date.prototype.setUTCDate ( date )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setUTCDate.name, "setUTCDate");
+
+verifyNotEnumerable(Date.prototype.setUTCDate, "name");
+verifyNotWritable(Date.prototype.setUTCDate, "name");
+verifyConfigurable(Date.prototype.setUTCDate, "name");
diff --git a/test/built-ins/Date/prototype/setUTCFullYear/name.js b/test/built-ins/Date/prototype/setUTCFullYear/name.js
new file mode 100755
index 0000000000..de5775833a
--- /dev/null
+++ b/test/built-ins/Date/prototype/setUTCFullYear/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.29
+description: >
+  Date.prototype.setUTCFullYear.name is "setUTCFullYear".
+info: >
+  Date.prototype.setUTCFullYear ( year [ , month [ , date ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setUTCFullYear.name, "setUTCFullYear");
+
+verifyNotEnumerable(Date.prototype.setUTCFullYear, "name");
+verifyNotWritable(Date.prototype.setUTCFullYear, "name");
+verifyConfigurable(Date.prototype.setUTCFullYear, "name");
diff --git a/test/built-ins/Date/prototype/setUTCHours/name.js b/test/built-ins/Date/prototype/setUTCHours/name.js
new file mode 100755
index 0000000000..ed616babd2
--- /dev/null
+++ b/test/built-ins/Date/prototype/setUTCHours/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.30
+description: >
+  Date.prototype.setUTCHours.name is "setUTCHours".
+info: >
+  Date.prototype.setUTCHours ( hour [ , min [ , sec [ , ms ] ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setUTCHours.name, "setUTCHours");
+
+verifyNotEnumerable(Date.prototype.setUTCHours, "name");
+verifyNotWritable(Date.prototype.setUTCHours, "name");
+verifyConfigurable(Date.prototype.setUTCHours, "name");
diff --git a/test/built-ins/Date/prototype/setUTCMilliseconds/name.js b/test/built-ins/Date/prototype/setUTCMilliseconds/name.js
new file mode 100755
index 0000000000..c7f78a2556
--- /dev/null
+++ b/test/built-ins/Date/prototype/setUTCMilliseconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.31
+description: >
+  Date.prototype.setUTCMilliseconds.name is "setUTCMilliseconds".
+info: >
+  Date.prototype.setUTCMilliseconds ( ms )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setUTCMilliseconds.name, "setUTCMilliseconds");
+
+verifyNotEnumerable(Date.prototype.setUTCMilliseconds, "name");
+verifyNotWritable(Date.prototype.setUTCMilliseconds, "name");
+verifyConfigurable(Date.prototype.setUTCMilliseconds, "name");
diff --git a/test/built-ins/Date/prototype/setUTCMinutes/name.js b/test/built-ins/Date/prototype/setUTCMinutes/name.js
new file mode 100755
index 0000000000..6706e7347b
--- /dev/null
+++ b/test/built-ins/Date/prototype/setUTCMinutes/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.32
+description: >
+  Date.prototype.setUTCMinutes.name is "setUTCMinutes".
+info: >
+  Date.prototype.setUTCMinutes ( min [ , sec [, ms ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setUTCMinutes.name, "setUTCMinutes");
+
+verifyNotEnumerable(Date.prototype.setUTCMinutes, "name");
+verifyNotWritable(Date.prototype.setUTCMinutes, "name");
+verifyConfigurable(Date.prototype.setUTCMinutes, "name");
diff --git a/test/built-ins/Date/prototype/setUTCMonth/name.js b/test/built-ins/Date/prototype/setUTCMonth/name.js
new file mode 100755
index 0000000000..a23d7ccfe5
--- /dev/null
+++ b/test/built-ins/Date/prototype/setUTCMonth/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.33
+description: >
+  Date.prototype.setUTCMonth.name is "setUTCMonth".
+info: >
+  Date.prototype.setUTCMonth ( month [ , date ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setUTCMonth.name, "setUTCMonth");
+
+verifyNotEnumerable(Date.prototype.setUTCMonth, "name");
+verifyNotWritable(Date.prototype.setUTCMonth, "name");
+verifyConfigurable(Date.prototype.setUTCMonth, "name");
diff --git a/test/built-ins/Date/prototype/setUTCSeconds/name.js b/test/built-ins/Date/prototype/setUTCSeconds/name.js
new file mode 100755
index 0000000000..0c663b07a8
--- /dev/null
+++ b/test/built-ins/Date/prototype/setUTCSeconds/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.34
+description: >
+  Date.prototype.setUTCSeconds.name is "setUTCSeconds".
+info: >
+  Date.prototype.setUTCSeconds ( sec [ , ms ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.setUTCSeconds.name, "setUTCSeconds");
+
+verifyNotEnumerable(Date.prototype.setUTCSeconds, "name");
+verifyNotWritable(Date.prototype.setUTCSeconds, "name");
+verifyConfigurable(Date.prototype.setUTCSeconds, "name");
diff --git a/test/built-ins/Date/prototype/toDateString/name.js b/test/built-ins/Date/prototype/toDateString/name.js
new file mode 100755
index 0000000000..b03c83b5bf
--- /dev/null
+++ b/test/built-ins/Date/prototype/toDateString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.35
+description: >
+  Date.prototype.toDateString.name is "toDateString".
+info: >
+  Date.prototype.toDateString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toDateString.name, "toDateString");
+
+verifyNotEnumerable(Date.prototype.toDateString, "name");
+verifyNotWritable(Date.prototype.toDateString, "name");
+verifyConfigurable(Date.prototype.toDateString, "name");
diff --git a/test/built-ins/Date/prototype/toISOString/name.js b/test/built-ins/Date/prototype/toISOString/name.js
new file mode 100755
index 0000000000..24a05dd60b
--- /dev/null
+++ b/test/built-ins/Date/prototype/toISOString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.36
+description: >
+  Date.prototype.toISOString.name is "toISOString".
+info: >
+  Date.prototype.toISOString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toISOString.name, "toISOString");
+
+verifyNotEnumerable(Date.prototype.toISOString, "name");
+verifyNotWritable(Date.prototype.toISOString, "name");
+verifyConfigurable(Date.prototype.toISOString, "name");
diff --git a/test/built-ins/Date/prototype/toJSON/name.js b/test/built-ins/Date/prototype/toJSON/name.js
new file mode 100755
index 0000000000..d6496762e7
--- /dev/null
+++ b/test/built-ins/Date/prototype/toJSON/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.37
+description: >
+  Date.prototype.toJSON.name is "toJSON".
+info: >
+  Date.prototype.toJSON ( key )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toJSON.name, "toJSON");
+
+verifyNotEnumerable(Date.prototype.toJSON, "name");
+verifyNotWritable(Date.prototype.toJSON, "name");
+verifyConfigurable(Date.prototype.toJSON, "name");
diff --git a/test/built-ins/Date/prototype/toLocaleDateString/name.js b/test/built-ins/Date/prototype/toLocaleDateString/name.js
new file mode 100755
index 0000000000..cb3aa147be
--- /dev/null
+++ b/test/built-ins/Date/prototype/toLocaleDateString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.38
+description: >
+  Date.prototype.toLocaleDateString.name is "toLocaleDateString".
+info: >
+  Date.prototype.toLocaleDateString ( [ reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toLocaleDateString.name, "toLocaleDateString");
+
+verifyNotEnumerable(Date.prototype.toLocaleDateString, "name");
+verifyNotWritable(Date.prototype.toLocaleDateString, "name");
+verifyConfigurable(Date.prototype.toLocaleDateString, "name");
diff --git a/test/built-ins/Date/prototype/toLocaleString/name.js b/test/built-ins/Date/prototype/toLocaleString/name.js
new file mode 100755
index 0000000000..855179114d
--- /dev/null
+++ b/test/built-ins/Date/prototype/toLocaleString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.39
+description: >
+  Date.prototype.toLocaleString.name is "toLocaleString".
+info: >
+  Date.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toLocaleString.name, "toLocaleString");
+
+verifyNotEnumerable(Date.prototype.toLocaleString, "name");
+verifyNotWritable(Date.prototype.toLocaleString, "name");
+verifyConfigurable(Date.prototype.toLocaleString, "name");
diff --git a/test/built-ins/Date/prototype/toLocaleTimeString/name.js b/test/built-ins/Date/prototype/toLocaleTimeString/name.js
new file mode 100755
index 0000000000..63599ce2fe
--- /dev/null
+++ b/test/built-ins/Date/prototype/toLocaleTimeString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.40
+description: >
+  Date.prototype.toLocaleTimeString.name is "toLocaleTimeString".
+info: >
+  Date.prototype.toLocaleTimeString ( [ reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toLocaleTimeString.name, "toLocaleTimeString");
+
+verifyNotEnumerable(Date.prototype.toLocaleTimeString, "name");
+verifyNotWritable(Date.prototype.toLocaleTimeString, "name");
+verifyConfigurable(Date.prototype.toLocaleTimeString, "name");
diff --git a/test/built-ins/Date/prototype/toString/name.js b/test/built-ins/Date/prototype/toString/name.js
new file mode 100755
index 0000000000..edc0c064a9
--- /dev/null
+++ b/test/built-ins/Date/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.41
+description: >
+  Date.prototype.toString.name is "toString".
+info: >
+  Date.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Date.prototype.toString, "name");
+verifyNotWritable(Date.prototype.toString, "name");
+verifyConfigurable(Date.prototype.toString, "name");
diff --git a/test/built-ins/Date/prototype/toTimeString/name.js b/test/built-ins/Date/prototype/toTimeString/name.js
new file mode 100755
index 0000000000..c5c766a408
--- /dev/null
+++ b/test/built-ins/Date/prototype/toTimeString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.42
+description: >
+  Date.prototype.toTimeString.name is "toTimeString".
+info: >
+  Date.prototype.toTimeString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toTimeString.name, "toTimeString");
+
+verifyNotEnumerable(Date.prototype.toTimeString, "name");
+verifyNotWritable(Date.prototype.toTimeString, "name");
+verifyConfigurable(Date.prototype.toTimeString, "name");
diff --git a/test/built-ins/Date/prototype/toUTCString/name.js b/test/built-ins/Date/prototype/toUTCString/name.js
new file mode 100755
index 0000000000..83dceb6deb
--- /dev/null
+++ b/test/built-ins/Date/prototype/toUTCString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.43
+description: >
+  Date.prototype.toUTCString.name is "toUTCString".
+info: >
+  Date.prototype.toUTCString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.toUTCString.name, "toUTCString");
+
+verifyNotEnumerable(Date.prototype.toUTCString, "name");
+verifyNotWritable(Date.prototype.toUTCString, "name");
+verifyConfigurable(Date.prototype.toUTCString, "name");
diff --git a/test/built-ins/Date/prototype/valueOf/name.js b/test/built-ins/Date/prototype/valueOf/name.js
new file mode 100755
index 0000000000..afc1d8777b
--- /dev/null
+++ b/test/built-ins/Date/prototype/valueOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.3.4.44
+description: >
+  Date.prototype.valueOf.name is "valueOf".
+info: >
+  Date.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Date.prototype.valueOf.name, "valueOf");
+
+verifyNotEnumerable(Date.prototype.valueOf, "name");
+verifyNotWritable(Date.prototype.valueOf, "name");
+verifyConfigurable(Date.prototype.valueOf, "name");
diff --git a/test/built-ins/Error/prototype/toString/length.js b/test/built-ins/Error/prototype/toString/length.js
new file mode 100755
index 0000000000..2a8f596c20
--- /dev/null
+++ b/test/built-ins/Error/prototype/toString/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.5.3.4
+description: >
+  Error.prototype.toString.length is 0.
+info: >
+  Error.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Error.prototype.toString.length, 0);
+
+verifyNotEnumerable(Error.prototype.toString, "length");
+verifyNotWritable(Error.prototype.toString, "length");
+verifyConfigurable(Error.prototype.toString, "length");
diff --git a/test/built-ins/Error/prototype/toString/name.js b/test/built-ins/Error/prototype/toString/name.js
new file mode 100755
index 0000000000..b9c8ffbb6e
--- /dev/null
+++ b/test/built-ins/Error/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.5.3.4
+description: >
+  Error.prototype.toString.name is "toString".
+info: >
+  Error.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Error.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Error.prototype.toString, "name");
+verifyNotWritable(Error.prototype.toString, "name");
+verifyConfigurable(Error.prototype.toString, "name");
diff --git a/test/built-ins/Function/prototype/apply/name.js b/test/built-ins/Function/prototype/apply/name.js
new file mode 100755
index 0000000000..61a6a78d31
--- /dev/null
+++ b/test/built-ins/Function/prototype/apply/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.2.3.1
+description: >
+  Function.prototype.apply.name is "apply".
+info: >
+  Function.prototype.apply ( thisArg, argArray )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Function.prototype.apply.name, "apply");
+
+verifyNotEnumerable(Function.prototype.apply, "name");
+verifyNotWritable(Function.prototype.apply, "name");
+verifyConfigurable(Function.prototype.apply, "name");
diff --git a/test/built-ins/Function/prototype/bind/name.js b/test/built-ins/Function/prototype/bind/name.js
new file mode 100755
index 0000000000..354bb50238
--- /dev/null
+++ b/test/built-ins/Function/prototype/bind/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.2.3.2
+description: >
+  Function.prototype.bind.name is "bind".
+info: >
+  Function.prototype.bind ( thisArg , ...args)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Function.prototype.bind.name, "bind");
+
+verifyNotEnumerable(Function.prototype.bind, "name");
+verifyNotWritable(Function.prototype.bind, "name");
+verifyConfigurable(Function.prototype.bind, "name");
diff --git a/test/built-ins/Function/prototype/call/name.js b/test/built-ins/Function/prototype/call/name.js
new file mode 100755
index 0000000000..0906316c04
--- /dev/null
+++ b/test/built-ins/Function/prototype/call/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.2.3.3
+description: >
+  Function.prototype.call.name is "call".
+info: >
+  Function.prototype.call (thisArg , ...args)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Function.prototype.call.name, "call");
+
+verifyNotEnumerable(Function.prototype.call, "name");
+verifyNotWritable(Function.prototype.call, "name");
+verifyConfigurable(Function.prototype.call, "name");
diff --git a/test/built-ins/Function/prototype/toString/name.js b/test/built-ins/Function/prototype/toString/name.js
new file mode 100755
index 0000000000..4b4cc6c298
--- /dev/null
+++ b/test/built-ins/Function/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.2.3.5
+description: >
+  Function.prototype.toString.name is "toString".
+info: >
+  Function.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Function.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Function.prototype.toString, "name");
+verifyNotWritable(Function.prototype.toString, "name");
+verifyConfigurable(Function.prototype.toString, "name");
diff --git a/test/built-ins/GeneratorPrototype/next/length.js b/test/built-ins/GeneratorPrototype/next/length.js
new file mode 100755
index 0000000000..8660b391ad
--- /dev/null
+++ b/test/built-ins/GeneratorPrototype/next/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 25.3.1.2
+description: >
+  Generator.prototype.next.length is 1.
+info: >
+  Generator.prototype.next ( value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+function* g() {}
+var GeneratorPrototype = Object.getPrototypeOf(g).prototype;
+
+assert.sameValue(GeneratorPrototype.next.length, 1);
+
+verifyNotEnumerable(GeneratorPrototype.next, "length");
+verifyNotWritable(GeneratorPrototype.next, "length");
+verifyConfigurable(GeneratorPrototype.next, "length");
diff --git a/test/built-ins/GeneratorPrototype/next/name.js b/test/built-ins/GeneratorPrototype/next/name.js
new file mode 100755
index 0000000000..a71fec48e0
--- /dev/null
+++ b/test/built-ins/GeneratorPrototype/next/name.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 25.3.1.2
+description: >
+  Generator.prototype.next.name is "next".
+info: >
+  Generator.prototype.next ( value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+function* g() {}
+var GeneratorPrototype = Object.getPrototypeOf(g).prototype;
+
+assert.sameValue(GeneratorPrototype.next.name, "next");
+
+verifyNotEnumerable(GeneratorPrototype.next, "name");
+verifyNotWritable(GeneratorPrototype.next, "name");
+verifyConfigurable(GeneratorPrototype.next, "name");
diff --git a/test/built-ins/GeneratorPrototype/return/length.js b/test/built-ins/GeneratorPrototype/return/length.js
new file mode 100755
index 0000000000..fd7e72aa52
--- /dev/null
+++ b/test/built-ins/GeneratorPrototype/return/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 25.3.1.3
+description: >
+  Generator.prototype.return.length is 1.
+info: >
+  Generator.prototype.return ( value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+function* g() {}
+var GeneratorPrototype = Object.getPrototypeOf(g).prototype;
+
+assert.sameValue(GeneratorPrototype.return.length, 1);
+
+verifyNotEnumerable(GeneratorPrototype.return, "length");
+verifyNotWritable(GeneratorPrototype.return, "length");
+verifyConfigurable(GeneratorPrototype.return, "length");
diff --git a/test/built-ins/GeneratorPrototype/return/name.js b/test/built-ins/GeneratorPrototype/return/name.js
new file mode 100755
index 0000000000..79f1df8c19
--- /dev/null
+++ b/test/built-ins/GeneratorPrototype/return/name.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 25.3.1.3
+description: >
+  Generator.prototype.return.name is "return".
+info: >
+  Generator.prototype.return ( value )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+function* g() {}
+var GeneratorPrototype = Object.getPrototypeOf(g).prototype;
+
+assert.sameValue(GeneratorPrototype.return.name, "return");
+
+verifyNotEnumerable(GeneratorPrototype.return, "name");
+verifyNotWritable(GeneratorPrototype.return, "name");
+verifyConfigurable(GeneratorPrototype.return, "name");
diff --git a/test/built-ins/GeneratorPrototype/throw/length.js b/test/built-ins/GeneratorPrototype/throw/length.js
new file mode 100755
index 0000000000..ecd05a4581
--- /dev/null
+++ b/test/built-ins/GeneratorPrototype/throw/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 25.3.1.4
+description: >
+  Generator.prototype.throw.length is 1.
+info: >
+  Generator.prototype.throw ( exception )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+function* g() {}
+var GeneratorPrototype = Object.getPrototypeOf(g).prototype;
+
+assert.sameValue(GeneratorPrototype.throw.length, 1);
+
+verifyNotEnumerable(GeneratorPrototype.throw, "length");
+verifyNotWritable(GeneratorPrototype.throw, "length");
+verifyConfigurable(GeneratorPrototype.throw, "length");
diff --git a/test/built-ins/GeneratorPrototype/throw/name.js b/test/built-ins/GeneratorPrototype/throw/name.js
new file mode 100755
index 0000000000..f005b26d21
--- /dev/null
+++ b/test/built-ins/GeneratorPrototype/throw/name.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 25.3.1.4
+description: >
+  Generator.prototype.throw.name is "throw".
+info: >
+  Generator.prototype.throw ( exception )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+function* g() {}
+var GeneratorPrototype = Object.getPrototypeOf(g).prototype;
+
+assert.sameValue(GeneratorPrototype.throw.name, "throw");
+
+verifyNotEnumerable(GeneratorPrototype.throw, "name");
+verifyNotWritable(GeneratorPrototype.throw, "name");
+verifyConfigurable(GeneratorPrototype.throw, "name");
diff --git a/test/built-ins/JSON/parse/name.js b/test/built-ins/JSON/parse/name.js
new file mode 100755
index 0000000000..860527209e
--- /dev/null
+++ b/test/built-ins/JSON/parse/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.3.1
+description: >
+  JSON.parse.name is "parse".
+info: >
+  JSON.parse ( text [ , reviver ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(JSON.parse.name, "parse");
+
+verifyNotEnumerable(JSON.parse, "name");
+verifyNotWritable(JSON.parse, "name");
+verifyConfigurable(JSON.parse, "name");
diff --git a/test/built-ins/JSON/stringify/name.js b/test/built-ins/JSON/stringify/name.js
new file mode 100755
index 0000000000..907632faba
--- /dev/null
+++ b/test/built-ins/JSON/stringify/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 24.3.2
+description: >
+  JSON.stringify.name is "stringify".
+info: >
+  JSON.stringify ( value [ , replacer [ , space ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(JSON.stringify.name, "stringify");
+
+verifyNotEnumerable(JSON.stringify, "name");
+verifyNotWritable(JSON.stringify, "name");
+verifyConfigurable(JSON.stringify, "name");
diff --git a/test/built-ins/Map/Symbol.species/length.js b/test/built-ins/Map/Symbol.species/length.js
new file mode 100755
index 0000000000..156755e364
--- /dev/null
+++ b/test/built-ins/Map/Symbol.species/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 23.1.2.2
+description: >
+  get Map [ @@species ].length is 0.
+info: >
+  get Map [ @@species ]
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.species]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(Map, Symbol.species);
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/MapIteratorPrototype/next/length.js b/test/built-ins/MapIteratorPrototype/next/length.js
new file mode 100755
index 0000000000..782a0ba9d7
--- /dev/null
+++ b/test/built-ins/MapIteratorPrototype/next/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 23.1.5.2.1
+description: >
+  %MapIteratorPrototype%.next.length is 0.
+info: >
+  %MapIteratorPrototype%.next ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var MapIteratorProto = Object.getPrototypeOf(new Map().values());
+
+assert.sameValue(MapIteratorProto.next.length, 0);
+
+verifyNotEnumerable(MapIteratorProto.next, "length");
+verifyNotWritable(MapIteratorProto.next, "length");
+verifyConfigurable(MapIteratorProto.next, "length");
diff --git a/test/built-ins/MapIteratorPrototype/next/name.js b/test/built-ins/MapIteratorPrototype/next/name.js
new file mode 100755
index 0000000000..b7a7dde7dd
--- /dev/null
+++ b/test/built-ins/MapIteratorPrototype/next/name.js
@@ -0,0 +1,28 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 23.1.5.2.1
+description: >
+  %MapIteratorPrototype%.next.name is "next".
+info: >
+  %MapIteratorPrototype%.next ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var MapIteratorProto = Object.getPrototypeOf(new Map().values());
+
+assert.sameValue(MapIteratorProto.next.name, "next");
+
+verifyNotEnumerable(MapIteratorProto.next, "name");
+verifyNotWritable(MapIteratorProto.next, "name");
+verifyConfigurable(MapIteratorProto.next, "name");
diff --git a/test/built-ins/Math/abs/length.js b/test/built-ins/Math/abs/length.js
new file mode 100755
index 0000000000..9cc5cd9614
--- /dev/null
+++ b/test/built-ins/Math/abs/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.1
+description: >
+  Math.abs.length is 1.
+info: >
+  Math.abs ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.abs.length, 1);
+
+verifyNotEnumerable(Math.abs, "length");
+verifyNotWritable(Math.abs, "length");
+verifyConfigurable(Math.abs, "length");
diff --git a/test/built-ins/Math/abs/name.js b/test/built-ins/Math/abs/name.js
new file mode 100755
index 0000000000..c5cd3a4d5c
--- /dev/null
+++ b/test/built-ins/Math/abs/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.1
+description: >
+  Math.abs.name is "abs".
+info: >
+  Math.abs ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.abs.name, "abs");
+
+verifyNotEnumerable(Math.abs, "name");
+verifyNotWritable(Math.abs, "name");
+verifyConfigurable(Math.abs, "name");
diff --git a/test/built-ins/Math/acos/length.js b/test/built-ins/Math/acos/length.js
new file mode 100755
index 0000000000..b46ffcf132
--- /dev/null
+++ b/test/built-ins/Math/acos/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.2
+description: >
+  Math.acos.length is 1.
+info: >
+  Math.acos ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.acos.length, 1);
+
+verifyNotEnumerable(Math.acos, "length");
+verifyNotWritable(Math.acos, "length");
+verifyConfigurable(Math.acos, "length");
diff --git a/test/built-ins/Math/acos/name.js b/test/built-ins/Math/acos/name.js
new file mode 100755
index 0000000000..9a32db7200
--- /dev/null
+++ b/test/built-ins/Math/acos/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.2
+description: >
+  Math.acos.name is "acos".
+info: >
+  Math.acos ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.acos.name, "acos");
+
+verifyNotEnumerable(Math.acos, "name");
+verifyNotWritable(Math.acos, "name");
+verifyConfigurable(Math.acos, "name");
diff --git a/test/built-ins/Math/acosh/name.js b/test/built-ins/Math/acosh/name.js
new file mode 100755
index 0000000000..4f6af5da8f
--- /dev/null
+++ b/test/built-ins/Math/acosh/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.3
+description: >
+  Math.acosh.name is "acosh".
+info: >
+  Math.acosh ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.acosh.name, "acosh");
+
+verifyNotEnumerable(Math.acosh, "name");
+verifyNotWritable(Math.acosh, "name");
+verifyConfigurable(Math.acosh, "name");
diff --git a/test/built-ins/Math/asin/length.js b/test/built-ins/Math/asin/length.js
new file mode 100755
index 0000000000..b115719086
--- /dev/null
+++ b/test/built-ins/Math/asin/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.4
+description: >
+  Math.asin.length is 1.
+info: >
+  Math.asin ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.asin.length, 1);
+
+verifyNotEnumerable(Math.asin, "length");
+verifyNotWritable(Math.asin, "length");
+verifyConfigurable(Math.asin, "length");
diff --git a/test/built-ins/Math/asin/name.js b/test/built-ins/Math/asin/name.js
new file mode 100755
index 0000000000..4d5ff0d294
--- /dev/null
+++ b/test/built-ins/Math/asin/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.4
+description: >
+  Math.asin.name is "asin".
+info: >
+  Math.asin ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.asin.name, "asin");
+
+verifyNotEnumerable(Math.asin, "name");
+verifyNotWritable(Math.asin, "name");
+verifyConfigurable(Math.asin, "name");
diff --git a/test/built-ins/Math/asinh/name.js b/test/built-ins/Math/asinh/name.js
new file mode 100755
index 0000000000..e9c9bfc6f6
--- /dev/null
+++ b/test/built-ins/Math/asinh/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.5
+description: >
+  Math.asinh.name is "asinh".
+info: >
+  Math.asinh ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.asinh.name, "asinh");
+
+verifyNotEnumerable(Math.asinh, "name");
+verifyNotWritable(Math.asinh, "name");
+verifyConfigurable(Math.asinh, "name");
diff --git a/test/built-ins/Math/atan/length.js b/test/built-ins/Math/atan/length.js
new file mode 100755
index 0000000000..15a384988c
--- /dev/null
+++ b/test/built-ins/Math/atan/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.6
+description: >
+  Math.atan.length is 1.
+info: >
+  Math.atan ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.atan.length, 1);
+
+verifyNotEnumerable(Math.atan, "length");
+verifyNotWritable(Math.atan, "length");
+verifyConfigurable(Math.atan, "length");
diff --git a/test/built-ins/Math/atan/name.js b/test/built-ins/Math/atan/name.js
new file mode 100755
index 0000000000..83e6648515
--- /dev/null
+++ b/test/built-ins/Math/atan/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.6
+description: >
+  Math.atan.name is "atan".
+info: >
+  Math.atan ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.atan.name, "atan");
+
+verifyNotEnumerable(Math.atan, "name");
+verifyNotWritable(Math.atan, "name");
+verifyConfigurable(Math.atan, "name");
diff --git a/test/built-ins/Math/atan2/length.js b/test/built-ins/Math/atan2/length.js
new file mode 100755
index 0000000000..59ab3355e4
--- /dev/null
+++ b/test/built-ins/Math/atan2/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.8
+description: >
+  Math.atan2.length is 2.
+info: >
+  Math.atan2 ( y, x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.atan2.length, 2);
+
+verifyNotEnumerable(Math.atan2, "length");
+verifyNotWritable(Math.atan2, "length");
+verifyConfigurable(Math.atan2, "length");
diff --git a/test/built-ins/Math/atan2/name.js b/test/built-ins/Math/atan2/name.js
new file mode 100755
index 0000000000..3adfffcb91
--- /dev/null
+++ b/test/built-ins/Math/atan2/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.8
+description: >
+  Math.atan2.name is "atan2".
+info: >
+  Math.atan2 ( y, x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.atan2.name, "atan2");
+
+verifyNotEnumerable(Math.atan2, "name");
+verifyNotWritable(Math.atan2, "name");
+verifyConfigurable(Math.atan2, "name");
diff --git a/test/built-ins/Math/atanh/name.js b/test/built-ins/Math/atanh/name.js
new file mode 100755
index 0000000000..e7d281ce63
--- /dev/null
+++ b/test/built-ins/Math/atanh/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.7
+description: >
+  Math.atanh.name is "atanh".
+info: >
+  Math.atanh ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.atanh.name, "atanh");
+
+verifyNotEnumerable(Math.atanh, "name");
+verifyNotWritable(Math.atanh, "name");
+verifyConfigurable(Math.atanh, "name");
diff --git a/test/built-ins/Math/cbrt/name.js b/test/built-ins/Math/cbrt/name.js
new file mode 100755
index 0000000000..c0c77c9dcc
--- /dev/null
+++ b/test/built-ins/Math/cbrt/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.9
+description: >
+  Math.cbrt.name is "cbrt".
+info: >
+  Math.cbrt ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.cbrt.name, "cbrt");
+
+verifyNotEnumerable(Math.cbrt, "name");
+verifyNotWritable(Math.cbrt, "name");
+verifyConfigurable(Math.cbrt, "name");
diff --git a/test/built-ins/Math/ceil/length.js b/test/built-ins/Math/ceil/length.js
new file mode 100755
index 0000000000..efd2117258
--- /dev/null
+++ b/test/built-ins/Math/ceil/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.10
+description: >
+  Math.ceil.length is 1.
+info: >
+  Math.ceil ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.ceil.length, 1);
+
+verifyNotEnumerable(Math.ceil, "length");
+verifyNotWritable(Math.ceil, "length");
+verifyConfigurable(Math.ceil, "length");
diff --git a/test/built-ins/Math/ceil/name.js b/test/built-ins/Math/ceil/name.js
new file mode 100755
index 0000000000..950cafe19b
--- /dev/null
+++ b/test/built-ins/Math/ceil/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.10
+description: >
+  Math.ceil.name is "ceil".
+info: >
+  Math.ceil ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.ceil.name, "ceil");
+
+verifyNotEnumerable(Math.ceil, "name");
+verifyNotWritable(Math.ceil, "name");
+verifyConfigurable(Math.ceil, "name");
diff --git a/test/built-ins/Math/clz32/length.js b/test/built-ins/Math/clz32/length.js
new file mode 100755
index 0000000000..0b1151944a
--- /dev/null
+++ b/test/built-ins/Math/clz32/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.11
+description: >
+  Math.clz32.length is 1.
+info: >
+  Math.clz32 ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.clz32.length, 1);
+
+verifyNotEnumerable(Math.clz32, "length");
+verifyNotWritable(Math.clz32, "length");
+verifyConfigurable(Math.clz32, "length");
diff --git a/test/built-ins/Math/clz32/name.js b/test/built-ins/Math/clz32/name.js
new file mode 100755
index 0000000000..7e99ef9046
--- /dev/null
+++ b/test/built-ins/Math/clz32/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.11
+description: >
+  Math.clz32.name is "clz32".
+info: >
+  Math.clz32 ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.clz32.name, "clz32");
+
+verifyNotEnumerable(Math.clz32, "name");
+verifyNotWritable(Math.clz32, "name");
+verifyConfigurable(Math.clz32, "name");
diff --git a/test/built-ins/Math/cos/length.js b/test/built-ins/Math/cos/length.js
new file mode 100755
index 0000000000..e7e5f69c3e
--- /dev/null
+++ b/test/built-ins/Math/cos/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.12
+description: >
+  Math.cos.length is 1.
+info: >
+  Math.cos ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.cos.length, 1);
+
+verifyNotEnumerable(Math.cos, "length");
+verifyNotWritable(Math.cos, "length");
+verifyConfigurable(Math.cos, "length");
diff --git a/test/built-ins/Math/cos/name.js b/test/built-ins/Math/cos/name.js
new file mode 100755
index 0000000000..916482e9f9
--- /dev/null
+++ b/test/built-ins/Math/cos/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.12
+description: >
+  Math.cos.name is "cos".
+info: >
+  Math.cos ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.cos.name, "cos");
+
+verifyNotEnumerable(Math.cos, "name");
+verifyNotWritable(Math.cos, "name");
+verifyConfigurable(Math.cos, "name");
diff --git a/test/built-ins/Math/cosh/name.js b/test/built-ins/Math/cosh/name.js
new file mode 100755
index 0000000000..9dcbb2f2ba
--- /dev/null
+++ b/test/built-ins/Math/cosh/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.13
+description: >
+  Math.cosh.name is "cosh".
+info: >
+  Math.cosh ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.cosh.name, "cosh");
+
+verifyNotEnumerable(Math.cosh, "name");
+verifyNotWritable(Math.cosh, "name");
+verifyConfigurable(Math.cosh, "name");
diff --git a/test/built-ins/Math/exp/length.js b/test/built-ins/Math/exp/length.js
new file mode 100755
index 0000000000..bcbd722114
--- /dev/null
+++ b/test/built-ins/Math/exp/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.14
+description: >
+  Math.exp.length is 1.
+info: >
+  Math.exp ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.exp.length, 1);
+
+verifyNotEnumerable(Math.exp, "length");
+verifyNotWritable(Math.exp, "length");
+verifyConfigurable(Math.exp, "length");
diff --git a/test/built-ins/Math/exp/name.js b/test/built-ins/Math/exp/name.js
new file mode 100755
index 0000000000..6caabb859d
--- /dev/null
+++ b/test/built-ins/Math/exp/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.14
+description: >
+  Math.exp.name is "exp".
+info: >
+  Math.exp ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.exp.name, "exp");
+
+verifyNotEnumerable(Math.exp, "name");
+verifyNotWritable(Math.exp, "name");
+verifyConfigurable(Math.exp, "name");
diff --git a/test/built-ins/Math/expm1/name.js b/test/built-ins/Math/expm1/name.js
new file mode 100755
index 0000000000..03521eccaa
--- /dev/null
+++ b/test/built-ins/Math/expm1/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.15
+description: >
+  Math.expm1.name is "expm1".
+info: >
+  Math.expm1 ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.expm1.name, "expm1");
+
+verifyNotEnumerable(Math.expm1, "name");
+verifyNotWritable(Math.expm1, "name");
+verifyConfigurable(Math.expm1, "name");
diff --git a/test/built-ins/Math/floor/length.js b/test/built-ins/Math/floor/length.js
new file mode 100755
index 0000000000..a5634c8a28
--- /dev/null
+++ b/test/built-ins/Math/floor/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.16
+description: >
+  Math.floor.length is 1.
+info: >
+  Math.floor ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.floor.length, 1);
+
+verifyNotEnumerable(Math.floor, "length");
+verifyNotWritable(Math.floor, "length");
+verifyConfigurable(Math.floor, "length");
diff --git a/test/built-ins/Math/floor/name.js b/test/built-ins/Math/floor/name.js
new file mode 100755
index 0000000000..0b9631da1b
--- /dev/null
+++ b/test/built-ins/Math/floor/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.16
+description: >
+  Math.floor.name is "floor".
+info: >
+  Math.floor ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.floor.name, "floor");
+
+verifyNotEnumerable(Math.floor, "name");
+verifyNotWritable(Math.floor, "name");
+verifyConfigurable(Math.floor, "name");
diff --git a/test/built-ins/Math/fround/length.js b/test/built-ins/Math/fround/length.js
new file mode 100755
index 0000000000..483abce16a
--- /dev/null
+++ b/test/built-ins/Math/fround/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.17
+description: >
+  Math.fround.length is 1.
+info: >
+  Math.fround ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.fround.length, 1);
+
+verifyNotEnumerable(Math.fround, "length");
+verifyNotWritable(Math.fround, "length");
+verifyConfigurable(Math.fround, "length");
diff --git a/test/built-ins/Math/fround/name.js b/test/built-ins/Math/fround/name.js
new file mode 100755
index 0000000000..bf28cd19aa
--- /dev/null
+++ b/test/built-ins/Math/fround/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.17
+description: >
+  Math.fround.name is "fround".
+info: >
+  Math.fround ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.fround.name, "fround");
+
+verifyNotEnumerable(Math.fround, "name");
+verifyNotWritable(Math.fround, "name");
+verifyConfigurable(Math.fround, "name");
diff --git a/test/built-ins/Math/hypot/name.js b/test/built-ins/Math/hypot/name.js
new file mode 100755
index 0000000000..34e55b5015
--- /dev/null
+++ b/test/built-ins/Math/hypot/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.18
+description: >
+  Math.hypot.name is "hypot".
+info: >
+  Math.hypot ( value1 , value2 , …values )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.hypot.name, "hypot");
+
+verifyNotEnumerable(Math.hypot, "name");
+verifyNotWritable(Math.hypot, "name");
+verifyConfigurable(Math.hypot, "name");
diff --git a/test/built-ins/Math/imul/name.js b/test/built-ins/Math/imul/name.js
new file mode 100755
index 0000000000..cf6c423bdf
--- /dev/null
+++ b/test/built-ins/Math/imul/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.19
+description: >
+  Math.imul.name is "imul".
+info: >
+  Math.imul ( x, y )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.imul.name, "imul");
+
+verifyNotEnumerable(Math.imul, "name");
+verifyNotWritable(Math.imul, "name");
+verifyConfigurable(Math.imul, "name");
diff --git a/test/built-ins/Math/log/length.js b/test/built-ins/Math/log/length.js
new file mode 100755
index 0000000000..ecc44d548c
--- /dev/null
+++ b/test/built-ins/Math/log/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.20
+description: >
+  Math.log.length is 1.
+info: >
+  Math.log ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.log.length, 1);
+
+verifyNotEnumerable(Math.log, "length");
+verifyNotWritable(Math.log, "length");
+verifyConfigurable(Math.log, "length");
diff --git a/test/built-ins/Math/log/name.js b/test/built-ins/Math/log/name.js
new file mode 100755
index 0000000000..bd46dbaaf1
--- /dev/null
+++ b/test/built-ins/Math/log/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.20
+description: >
+  Math.log.name is "log".
+info: >
+  Math.log ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.log.name, "log");
+
+verifyNotEnumerable(Math.log, "name");
+verifyNotWritable(Math.log, "name");
+verifyConfigurable(Math.log, "name");
diff --git a/test/built-ins/Math/log10/name.js b/test/built-ins/Math/log10/name.js
new file mode 100755
index 0000000000..11c3458239
--- /dev/null
+++ b/test/built-ins/Math/log10/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.22
+description: >
+  Math.log10.name is "log10".
+info: >
+  Math.log10 ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.log10.name, "log10");
+
+verifyNotEnumerable(Math.log10, "name");
+verifyNotWritable(Math.log10, "name");
+verifyConfigurable(Math.log10, "name");
diff --git a/test/built-ins/Math/log1p/name.js b/test/built-ins/Math/log1p/name.js
new file mode 100755
index 0000000000..7f5048b9e5
--- /dev/null
+++ b/test/built-ins/Math/log1p/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.21
+description: >
+  Math.log1p.name is "log1p".
+info: >
+  Math.log1p ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.log1p.name, "log1p");
+
+verifyNotEnumerable(Math.log1p, "name");
+verifyNotWritable(Math.log1p, "name");
+verifyConfigurable(Math.log1p, "name");
diff --git a/test/built-ins/Math/log2/name.js b/test/built-ins/Math/log2/name.js
new file mode 100755
index 0000000000..4b319a0674
--- /dev/null
+++ b/test/built-ins/Math/log2/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.23
+description: >
+  Math.log2.name is "log2".
+info: >
+  Math.log2 ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.log2.name, "log2");
+
+verifyNotEnumerable(Math.log2, "name");
+verifyNotWritable(Math.log2, "name");
+verifyConfigurable(Math.log2, "name");
diff --git a/test/built-ins/Math/max/name.js b/test/built-ins/Math/max/name.js
new file mode 100755
index 0000000000..e641093676
--- /dev/null
+++ b/test/built-ins/Math/max/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.24
+description: >
+  Math.max.name is "max".
+info: >
+  Math.max ( value1, value2 , …values )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.max.name, "max");
+
+verifyNotEnumerable(Math.max, "name");
+verifyNotWritable(Math.max, "name");
+verifyConfigurable(Math.max, "name");
diff --git a/test/built-ins/Math/min/name.js b/test/built-ins/Math/min/name.js
new file mode 100755
index 0000000000..65e0cb2a90
--- /dev/null
+++ b/test/built-ins/Math/min/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.25
+description: >
+  Math.min.name is "min".
+info: >
+  Math.min ( value1, value2 , …values )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.min.name, "min");
+
+verifyNotEnumerable(Math.min, "name");
+verifyNotWritable(Math.min, "name");
+verifyConfigurable(Math.min, "name");
diff --git a/test/built-ins/Math/pow/length.js b/test/built-ins/Math/pow/length.js
new file mode 100755
index 0000000000..7c893b6240
--- /dev/null
+++ b/test/built-ins/Math/pow/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.26
+description: >
+  Math.pow.length is 2.
+info: >
+  Math.pow ( x, y )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.pow.length, 2);
+
+verifyNotEnumerable(Math.pow, "length");
+verifyNotWritable(Math.pow, "length");
+verifyConfigurable(Math.pow, "length");
diff --git a/test/built-ins/Math/pow/name.js b/test/built-ins/Math/pow/name.js
new file mode 100755
index 0000000000..1657ad9094
--- /dev/null
+++ b/test/built-ins/Math/pow/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.26
+description: >
+  Math.pow.name is "pow".
+info: >
+  Math.pow ( x, y )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.pow.name, "pow");
+
+verifyNotEnumerable(Math.pow, "name");
+verifyNotWritable(Math.pow, "name");
+verifyConfigurable(Math.pow, "name");
diff --git a/test/built-ins/Math/random/length.js b/test/built-ins/Math/random/length.js
new file mode 100755
index 0000000000..e89981dafb
--- /dev/null
+++ b/test/built-ins/Math/random/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.27
+description: >
+  Math.random.length is 0.
+info: >
+  Math.random ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.random.length, 0);
+
+verifyNotEnumerable(Math.random, "length");
+verifyNotWritable(Math.random, "length");
+verifyConfigurable(Math.random, "length");
diff --git a/test/built-ins/Math/random/name.js b/test/built-ins/Math/random/name.js
new file mode 100755
index 0000000000..c47025da55
--- /dev/null
+++ b/test/built-ins/Math/random/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.27
+description: >
+  Math.random.name is "random".
+info: >
+  Math.random ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.random.name, "random");
+
+verifyNotEnumerable(Math.random, "name");
+verifyNotWritable(Math.random, "name");
+verifyConfigurable(Math.random, "name");
diff --git a/test/built-ins/Math/round/length.js b/test/built-ins/Math/round/length.js
new file mode 100755
index 0000000000..071f6820f1
--- /dev/null
+++ b/test/built-ins/Math/round/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.28
+description: >
+  Math.round.length is 1.
+info: >
+  Math.round ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.round.length, 1);
+
+verifyNotEnumerable(Math.round, "length");
+verifyNotWritable(Math.round, "length");
+verifyConfigurable(Math.round, "length");
diff --git a/test/built-ins/Math/round/name.js b/test/built-ins/Math/round/name.js
new file mode 100755
index 0000000000..4c71bfe8d7
--- /dev/null
+++ b/test/built-ins/Math/round/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.28
+description: >
+  Math.round.name is "round".
+info: >
+  Math.round ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.round.name, "round");
+
+verifyNotEnumerable(Math.round, "name");
+verifyNotWritable(Math.round, "name");
+verifyConfigurable(Math.round, "name");
diff --git a/test/built-ins/Math/sign/name.js b/test/built-ins/Math/sign/name.js
new file mode 100755
index 0000000000..89cbe60204
--- /dev/null
+++ b/test/built-ins/Math/sign/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.29
+description: >
+  Math.sign.name is "sign".
+info: >
+  Math.sign ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.sign.name, "sign");
+
+verifyNotEnumerable(Math.sign, "name");
+verifyNotWritable(Math.sign, "name");
+verifyConfigurable(Math.sign, "name");
diff --git a/test/built-ins/Math/sin/length.js b/test/built-ins/Math/sin/length.js
new file mode 100755
index 0000000000..55d6e5e8eb
--- /dev/null
+++ b/test/built-ins/Math/sin/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.30
+description: >
+  Math.sin.length is 1.
+info: >
+  Math.sin ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.sin.length, 1);
+
+verifyNotEnumerable(Math.sin, "length");
+verifyNotWritable(Math.sin, "length");
+verifyConfigurable(Math.sin, "length");
diff --git a/test/built-ins/Math/sin/name.js b/test/built-ins/Math/sin/name.js
new file mode 100755
index 0000000000..dec5bcf661
--- /dev/null
+++ b/test/built-ins/Math/sin/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.30
+description: >
+  Math.sin.name is "sin".
+info: >
+  Math.sin ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.sin.name, "sin");
+
+verifyNotEnumerable(Math.sin, "name");
+verifyNotWritable(Math.sin, "name");
+verifyConfigurable(Math.sin, "name");
diff --git a/test/built-ins/Math/sinh/name.js b/test/built-ins/Math/sinh/name.js
new file mode 100755
index 0000000000..2ff1a269c5
--- /dev/null
+++ b/test/built-ins/Math/sinh/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.31
+description: >
+  Math.sinh.name is "sinh".
+info: >
+  Math.sinh ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.sinh.name, "sinh");
+
+verifyNotEnumerable(Math.sinh, "name");
+verifyNotWritable(Math.sinh, "name");
+verifyConfigurable(Math.sinh, "name");
diff --git a/test/built-ins/Math/sqrt/length.js b/test/built-ins/Math/sqrt/length.js
new file mode 100755
index 0000000000..3ca90f5d8c
--- /dev/null
+++ b/test/built-ins/Math/sqrt/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.32
+description: >
+  Math.sqrt.length is 1.
+info: >
+  Math.sqrt ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.sqrt.length, 1);
+
+verifyNotEnumerable(Math.sqrt, "length");
+verifyNotWritable(Math.sqrt, "length");
+verifyConfigurable(Math.sqrt, "length");
diff --git a/test/built-ins/Math/sqrt/name.js b/test/built-ins/Math/sqrt/name.js
new file mode 100755
index 0000000000..425c39c0ca
--- /dev/null
+++ b/test/built-ins/Math/sqrt/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.32
+description: >
+  Math.sqrt.name is "sqrt".
+info: >
+  Math.sqrt ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.sqrt.name, "sqrt");
+
+verifyNotEnumerable(Math.sqrt, "name");
+verifyNotWritable(Math.sqrt, "name");
+verifyConfigurable(Math.sqrt, "name");
diff --git a/test/built-ins/Math/tan/length.js b/test/built-ins/Math/tan/length.js
new file mode 100755
index 0000000000..ebfc53fa82
--- /dev/null
+++ b/test/built-ins/Math/tan/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.33
+description: >
+  Math.tan.length is 1.
+info: >
+  Math.tan ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.tan.length, 1);
+
+verifyNotEnumerable(Math.tan, "length");
+verifyNotWritable(Math.tan, "length");
+verifyConfigurable(Math.tan, "length");
diff --git a/test/built-ins/Math/tan/name.js b/test/built-ins/Math/tan/name.js
new file mode 100755
index 0000000000..bef908adc8
--- /dev/null
+++ b/test/built-ins/Math/tan/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.33
+description: >
+  Math.tan.name is "tan".
+info: >
+  Math.tan ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.tan.name, "tan");
+
+verifyNotEnumerable(Math.tan, "name");
+verifyNotWritable(Math.tan, "name");
+verifyConfigurable(Math.tan, "name");
diff --git a/test/built-ins/Math/tanh/name.js b/test/built-ins/Math/tanh/name.js
new file mode 100755
index 0000000000..37e672f613
--- /dev/null
+++ b/test/built-ins/Math/tanh/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.34
+description: >
+  Math.tanh.name is "tanh".
+info: >
+  Math.tanh ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.tanh.name, "tanh");
+
+verifyNotEnumerable(Math.tanh, "name");
+verifyNotWritable(Math.tanh, "name");
+verifyConfigurable(Math.tanh, "name");
diff --git a/test/built-ins/Math/trunc/name.js b/test/built-ins/Math/trunc/name.js
new file mode 100755
index 0000000000..cb52f991c5
--- /dev/null
+++ b/test/built-ins/Math/trunc/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2.2.35
+description: >
+  Math.trunc.name is "trunc".
+info: >
+  Math.trunc ( x )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Math.trunc.name, "trunc");
+
+verifyNotEnumerable(Math.trunc, "name");
+verifyNotWritable(Math.trunc, "name");
+verifyConfigurable(Math.trunc, "name");
diff --git a/test/built-ins/Number/isFinite/length.js b/test/built-ins/Number/isFinite/length.js
new file mode 100755
index 0000000000..b7596554ac
--- /dev/null
+++ b/test/built-ins/Number/isFinite/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.2
+description: >
+  Number.isFinite.length is 1.
+info: >
+  Number.isFinite ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isFinite.length, 1);
+
+verifyNotEnumerable(Number.isFinite, "length");
+verifyNotWritable(Number.isFinite, "length");
+verifyConfigurable(Number.isFinite, "length");
diff --git a/test/built-ins/Number/isFinite/name.js b/test/built-ins/Number/isFinite/name.js
new file mode 100755
index 0000000000..76e700420f
--- /dev/null
+++ b/test/built-ins/Number/isFinite/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.2
+description: >
+  Number.isFinite.name is "isFinite".
+info: >
+  Number.isFinite ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isFinite.name, "isFinite");
+
+verifyNotEnumerable(Number.isFinite, "name");
+verifyNotWritable(Number.isFinite, "name");
+verifyConfigurable(Number.isFinite, "name");
diff --git a/test/built-ins/Number/isInteger/length.js b/test/built-ins/Number/isInteger/length.js
new file mode 100755
index 0000000000..cefaf2eb84
--- /dev/null
+++ b/test/built-ins/Number/isInteger/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.3
+description: >
+  Number.isInteger.length is 1.
+info: >
+  Number.isInteger ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isInteger.length, 1);
+
+verifyNotEnumerable(Number.isInteger, "length");
+verifyNotWritable(Number.isInteger, "length");
+verifyConfigurable(Number.isInteger, "length");
diff --git a/test/built-ins/Number/isInteger/name.js b/test/built-ins/Number/isInteger/name.js
new file mode 100755
index 0000000000..ccc62db977
--- /dev/null
+++ b/test/built-ins/Number/isInteger/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.3
+description: >
+  Number.isInteger.name is "isInteger".
+info: >
+  Number.isInteger ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isInteger.name, "isInteger");
+
+verifyNotEnumerable(Number.isInteger, "name");
+verifyNotWritable(Number.isInteger, "name");
+verifyConfigurable(Number.isInteger, "name");
diff --git a/test/built-ins/Number/isNaN/length.js b/test/built-ins/Number/isNaN/length.js
new file mode 100755
index 0000000000..7f7e8a6cbd
--- /dev/null
+++ b/test/built-ins/Number/isNaN/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.4
+description: >
+  Number.isNaN.length is 1.
+info: >
+  Number.isNaN ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isNaN.length, 1);
+
+verifyNotEnumerable(Number.isNaN, "length");
+verifyNotWritable(Number.isNaN, "length");
+verifyConfigurable(Number.isNaN, "length");
diff --git a/test/built-ins/Number/isNaN/name.js b/test/built-ins/Number/isNaN/name.js
new file mode 100755
index 0000000000..bfb2b1eace
--- /dev/null
+++ b/test/built-ins/Number/isNaN/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.4
+description: >
+  Number.isNaN.name is "isNaN".
+info: >
+  Number.isNaN ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isNaN.name, "isNaN");
+
+verifyNotEnumerable(Number.isNaN, "name");
+verifyNotWritable(Number.isNaN, "name");
+verifyConfigurable(Number.isNaN, "name");
diff --git a/test/built-ins/Number/isSafeInteger/length.js b/test/built-ins/Number/isSafeInteger/length.js
new file mode 100755
index 0000000000..356441ec56
--- /dev/null
+++ b/test/built-ins/Number/isSafeInteger/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.5
+description: >
+  Number.isSafeInteger.length is 1.
+info: >
+  Number.isSafeInteger ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isSafeInteger.length, 1);
+
+verifyNotEnumerable(Number.isSafeInteger, "length");
+verifyNotWritable(Number.isSafeInteger, "length");
+verifyConfigurable(Number.isSafeInteger, "length");
diff --git a/test/built-ins/Number/isSafeInteger/name.js b/test/built-ins/Number/isSafeInteger/name.js
new file mode 100755
index 0000000000..b928f53247
--- /dev/null
+++ b/test/built-ins/Number/isSafeInteger/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.2.5
+description: >
+  Number.isSafeInteger.name is "isSafeInteger".
+info: >
+  Number.isSafeInteger ( number )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.isSafeInteger.name, "isSafeInteger");
+
+verifyNotEnumerable(Number.isSafeInteger, "name");
+verifyNotWritable(Number.isSafeInteger, "name");
+verifyConfigurable(Number.isSafeInteger, "name");
diff --git a/test/built-ins/Number/prototype/toExponential/length.js b/test/built-ins/Number/prototype/toExponential/length.js
new file mode 100755
index 0000000000..4c45176628
--- /dev/null
+++ b/test/built-ins/Number/prototype/toExponential/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+description: >
+  Number.prototype.toExponential.length is 1.
+info: >
+  Number.prototype.toExponential ( fractionDigits )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toExponential.length, 1);
+
+verifyNotEnumerable(Number.prototype.toExponential, "length");
+verifyNotWritable(Number.prototype.toExponential, "length");
+verifyConfigurable(Number.prototype.toExponential, "length");
diff --git a/test/built-ins/Number/prototype/toExponential/name.js b/test/built-ins/Number/prototype/toExponential/name.js
new file mode 100755
index 0000000000..69fb8351f1
--- /dev/null
+++ b/test/built-ins/Number/prototype/toExponential/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+description: >
+  Number.prototype.toExponential.name is "toExponential".
+info: >
+  Number.prototype.toExponential ( fractionDigits )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toExponential.name, "toExponential");
+
+verifyNotEnumerable(Number.prototype.toExponential, "name");
+verifyNotWritable(Number.prototype.toExponential, "name");
+verifyConfigurable(Number.prototype.toExponential, "name");
diff --git a/test/built-ins/Number/prototype/toFixed/name.js b/test/built-ins/Number/prototype/toFixed/name.js
new file mode 100755
index 0000000000..485213ac43
--- /dev/null
+++ b/test/built-ins/Number/prototype/toFixed/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.3
+description: >
+  Number.prototype.toFixed.name is "toFixed".
+info: >
+  Number.prototype.toFixed ( fractionDigits )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toFixed.name, "toFixed");
+
+verifyNotEnumerable(Number.prototype.toFixed, "name");
+verifyNotWritable(Number.prototype.toFixed, "name");
+verifyConfigurable(Number.prototype.toFixed, "name");
diff --git a/test/built-ins/Number/prototype/toLocaleString/length.js b/test/built-ins/Number/prototype/toLocaleString/length.js
new file mode 100755
index 0000000000..e7136cb812
--- /dev/null
+++ b/test/built-ins/Number/prototype/toLocaleString/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.4
+description: >
+  Number.prototype.toLocaleString.length is 0.
+info: >
+  Number.prototype.toLocaleString( [ reserved1 [ , reserved2 ] ])
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toLocaleString.length, 0);
+
+verifyNotEnumerable(Number.prototype.toLocaleString, "length");
+verifyNotWritable(Number.prototype.toLocaleString, "length");
+verifyConfigurable(Number.prototype.toLocaleString, "length");
diff --git a/test/built-ins/Number/prototype/toLocaleString/name.js b/test/built-ins/Number/prototype/toLocaleString/name.js
new file mode 100755
index 0000000000..80116d2711
--- /dev/null
+++ b/test/built-ins/Number/prototype/toLocaleString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.4
+description: >
+  Number.prototype.toLocaleString.name is "toLocaleString".
+info: >
+  Number.prototype.toLocaleString( [ reserved1 [ , reserved2 ] ])
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toLocaleString.name, "toLocaleString");
+
+verifyNotEnumerable(Number.prototype.toLocaleString, "name");
+verifyNotWritable(Number.prototype.toLocaleString, "name");
+verifyConfigurable(Number.prototype.toLocaleString, "name");
diff --git a/test/built-ins/Number/prototype/toPrecision/length.js b/test/built-ins/Number/prototype/toPrecision/length.js
new file mode 100755
index 0000000000..f4770744ca
--- /dev/null
+++ b/test/built-ins/Number/prototype/toPrecision/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.5
+description: >
+  Number.prototype.toPrecision.length is 1.
+info: >
+  Number.prototype.toPrecision ( precision )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toPrecision.length, 1);
+
+verifyNotEnumerable(Number.prototype.toPrecision, "length");
+verifyNotWritable(Number.prototype.toPrecision, "length");
+verifyConfigurable(Number.prototype.toPrecision, "length");
diff --git a/test/built-ins/Number/prototype/toPrecision/name.js b/test/built-ins/Number/prototype/toPrecision/name.js
new file mode 100755
index 0000000000..e235698581
--- /dev/null
+++ b/test/built-ins/Number/prototype/toPrecision/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.5
+description: >
+  Number.prototype.toPrecision.name is "toPrecision".
+info: >
+  Number.prototype.toPrecision ( precision )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toPrecision.name, "toPrecision");
+
+verifyNotEnumerable(Number.prototype.toPrecision, "name");
+verifyNotWritable(Number.prototype.toPrecision, "name");
+verifyConfigurable(Number.prototype.toPrecision, "name");
diff --git a/test/built-ins/Number/prototype/toString/length.js b/test/built-ins/Number/prototype/toString/length.js
new file mode 100755
index 0000000000..7ae2e182da
--- /dev/null
+++ b/test/built-ins/Number/prototype/toString/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.6
+description: >
+  Number.prototype.toString.length is 1.
+info: >
+  Number.prototype.toString ( [ radix ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toString.length, 1);
+
+verifyNotEnumerable(Number.prototype.toString, "length");
+verifyNotWritable(Number.prototype.toString, "length");
+verifyConfigurable(Number.prototype.toString, "length");
diff --git a/test/built-ins/Number/prototype/toString/name.js b/test/built-ins/Number/prototype/toString/name.js
new file mode 100755
index 0000000000..99e825b38d
--- /dev/null
+++ b/test/built-ins/Number/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.6
+description: >
+  Number.prototype.toString.name is "toString".
+info: >
+  Number.prototype.toString ( [ radix ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Number.prototype.toString, "name");
+verifyNotWritable(Number.prototype.toString, "name");
+verifyConfigurable(Number.prototype.toString, "name");
diff --git a/test/built-ins/Number/prototype/valueOf/length.js b/test/built-ins/Number/prototype/valueOf/length.js
new file mode 100755
index 0000000000..7972f728fa
--- /dev/null
+++ b/test/built-ins/Number/prototype/valueOf/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.7
+description: >
+  Number.prototype.valueOf.length is 0.
+info: >
+  Number.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.valueOf.length, 0);
+
+verifyNotEnumerable(Number.prototype.valueOf, "length");
+verifyNotWritable(Number.prototype.valueOf, "length");
+verifyConfigurable(Number.prototype.valueOf, "length");
diff --git a/test/built-ins/Number/prototype/valueOf/name.js b/test/built-ins/Number/prototype/valueOf/name.js
new file mode 100755
index 0000000000..1931f3686f
--- /dev/null
+++ b/test/built-ins/Number/prototype/valueOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.7
+description: >
+  Number.prototype.valueOf.name is "valueOf".
+info: >
+  Number.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Number.prototype.valueOf.name, "valueOf");
+
+verifyNotEnumerable(Number.prototype.valueOf, "name");
+verifyNotWritable(Number.prototype.valueOf, "name");
+verifyConfigurable(Number.prototype.valueOf, "name");
diff --git a/test/built-ins/Object/create/name.js b/test/built-ins/Object/create/name.js
new file mode 100755
index 0000000000..493a3805b1
--- /dev/null
+++ b/test/built-ins/Object/create/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.2
+description: >
+  Object.create.name is "create".
+info: >
+  Object.create ( O [ , Properties ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.create.name, "create");
+
+verifyNotEnumerable(Object.create, "name");
+verifyNotWritable(Object.create, "name");
+verifyConfigurable(Object.create, "name");
diff --git a/test/built-ins/Object/defineProperties/name.js b/test/built-ins/Object/defineProperties/name.js
new file mode 100755
index 0000000000..a426d0c028
--- /dev/null
+++ b/test/built-ins/Object/defineProperties/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.3
+description: >
+  Object.defineProperties.name is "defineProperties".
+info: >
+  Object.defineProperties ( O, Properties )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.defineProperties.name, "defineProperties");
+
+verifyNotEnumerable(Object.defineProperties, "name");
+verifyNotWritable(Object.defineProperties, "name");
+verifyConfigurable(Object.defineProperties, "name");
diff --git a/test/built-ins/Object/defineProperty/name.js b/test/built-ins/Object/defineProperty/name.js
new file mode 100755
index 0000000000..3437de49e4
--- /dev/null
+++ b/test/built-ins/Object/defineProperty/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.4
+description: >
+  Object.defineProperty.name is "defineProperty".
+info: >
+  Object.defineProperty ( O, P, Attributes )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.defineProperty.name, "defineProperty");
+
+verifyNotEnumerable(Object.defineProperty, "name");
+verifyNotWritable(Object.defineProperty, "name");
+verifyConfigurable(Object.defineProperty, "name");
diff --git a/test/built-ins/Object/freeze/name.js b/test/built-ins/Object/freeze/name.js
new file mode 100755
index 0000000000..14e4422926
--- /dev/null
+++ b/test/built-ins/Object/freeze/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.5
+description: >
+  Object.freeze.name is "freeze".
+info: >
+  Object.freeze ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.freeze.name, "freeze");
+
+verifyNotEnumerable(Object.freeze, "name");
+verifyNotWritable(Object.freeze, "name");
+verifyConfigurable(Object.freeze, "name");
diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/name.js b/test/built-ins/Object/getOwnPropertyDescriptor/name.js
new file mode 100755
index 0000000000..a50d538455
--- /dev/null
+++ b/test/built-ins/Object/getOwnPropertyDescriptor/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.6
+description: >
+  Object.getOwnPropertyDescriptor.name is "getOwnPropertyDescriptor".
+info: >
+  Object.getOwnPropertyDescriptor ( O, P )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.getOwnPropertyDescriptor.name, "getOwnPropertyDescriptor");
+
+verifyNotEnumerable(Object.getOwnPropertyDescriptor, "name");
+verifyNotWritable(Object.getOwnPropertyDescriptor, "name");
+verifyConfigurable(Object.getOwnPropertyDescriptor, "name");
diff --git a/test/built-ins/Object/getOwnPropertyNames/name.js b/test/built-ins/Object/getOwnPropertyNames/name.js
new file mode 100755
index 0000000000..674b03428c
--- /dev/null
+++ b/test/built-ins/Object/getOwnPropertyNames/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.7
+description: >
+  Object.getOwnPropertyNames.name is "getOwnPropertyNames".
+info: >
+  Object.getOwnPropertyNames ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.getOwnPropertyNames.name, "getOwnPropertyNames");
+
+verifyNotEnumerable(Object.getOwnPropertyNames, "name");
+verifyNotWritable(Object.getOwnPropertyNames, "name");
+verifyConfigurable(Object.getOwnPropertyNames, "name");
diff --git a/test/built-ins/Object/getOwnPropertySymbols/length.js b/test/built-ins/Object/getOwnPropertySymbols/length.js
new file mode 100755
index 0000000000..cbb62b1aa7
--- /dev/null
+++ b/test/built-ins/Object/getOwnPropertySymbols/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.8
+description: >
+  Object.getOwnPropertySymbols.length is 1.
+info: >
+  Object.getOwnPropertySymbols ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.getOwnPropertySymbols.length, 1);
+
+verifyNotEnumerable(Object.getOwnPropertySymbols, "length");
+verifyNotWritable(Object.getOwnPropertySymbols, "length");
+verifyConfigurable(Object.getOwnPropertySymbols, "length");
diff --git a/test/built-ins/Object/getOwnPropertySymbols/name.js b/test/built-ins/Object/getOwnPropertySymbols/name.js
new file mode 100755
index 0000000000..7346a1e4d7
--- /dev/null
+++ b/test/built-ins/Object/getOwnPropertySymbols/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.8
+description: >
+  Object.getOwnPropertySymbols.name is "getOwnPropertySymbols".
+info: >
+  Object.getOwnPropertySymbols ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.getOwnPropertySymbols.name, "getOwnPropertySymbols");
+
+verifyNotEnumerable(Object.getOwnPropertySymbols, "name");
+verifyNotWritable(Object.getOwnPropertySymbols, "name");
+verifyConfigurable(Object.getOwnPropertySymbols, "name");
diff --git a/test/built-ins/Object/getPrototypeOf/name.js b/test/built-ins/Object/getPrototypeOf/name.js
new file mode 100755
index 0000000000..25c1527e21
--- /dev/null
+++ b/test/built-ins/Object/getPrototypeOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.9
+description: >
+  Object.getPrototypeOf.name is "getPrototypeOf".
+info: >
+  Object.getPrototypeOf ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.getPrototypeOf.name, "getPrototypeOf");
+
+verifyNotEnumerable(Object.getPrototypeOf, "name");
+verifyNotWritable(Object.getPrototypeOf, "name");
+verifyConfigurable(Object.getPrototypeOf, "name");
diff --git a/test/built-ins/Object/isExtensible/name.js b/test/built-ins/Object/isExtensible/name.js
new file mode 100755
index 0000000000..66544d545b
--- /dev/null
+++ b/test/built-ins/Object/isExtensible/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.11
+description: >
+  Object.isExtensible.name is "isExtensible".
+info: >
+  Object.isExtensible ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.isExtensible.name, "isExtensible");
+
+verifyNotEnumerable(Object.isExtensible, "name");
+verifyNotWritable(Object.isExtensible, "name");
+verifyConfigurable(Object.isExtensible, "name");
diff --git a/test/built-ins/Object/isFrozen/name.js b/test/built-ins/Object/isFrozen/name.js
new file mode 100755
index 0000000000..c7c1bd00fc
--- /dev/null
+++ b/test/built-ins/Object/isFrozen/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.12
+description: >
+  Object.isFrozen.name is "isFrozen".
+info: >
+  Object.isFrozen ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.isFrozen.name, "isFrozen");
+
+verifyNotEnumerable(Object.isFrozen, "name");
+verifyNotWritable(Object.isFrozen, "name");
+verifyConfigurable(Object.isFrozen, "name");
diff --git a/test/built-ins/Object/isSealed/name.js b/test/built-ins/Object/isSealed/name.js
new file mode 100755
index 0000000000..6c7d502de7
--- /dev/null
+++ b/test/built-ins/Object/isSealed/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.13
+description: >
+  Object.isSealed.name is "isSealed".
+info: >
+  Object.isSealed ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.isSealed.name, "isSealed");
+
+verifyNotEnumerable(Object.isSealed, "name");
+verifyNotWritable(Object.isSealed, "name");
+verifyConfigurable(Object.isSealed, "name");
diff --git a/test/built-ins/Object/keys/name.js b/test/built-ins/Object/keys/name.js
new file mode 100755
index 0000000000..264119a6f7
--- /dev/null
+++ b/test/built-ins/Object/keys/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.14
+description: >
+  Object.keys.name is "keys".
+info: >
+  Object.keys ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.keys.name, "keys");
+
+verifyNotEnumerable(Object.keys, "name");
+verifyNotWritable(Object.keys, "name");
+verifyConfigurable(Object.keys, "name");
diff --git a/test/built-ins/Object/preventExtensions/name.js b/test/built-ins/Object/preventExtensions/name.js
new file mode 100755
index 0000000000..5c1786cfac
--- /dev/null
+++ b/test/built-ins/Object/preventExtensions/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.15
+description: >
+  Object.preventExtensions.name is "preventExtensions".
+info: >
+  Object.preventExtensions ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.preventExtensions.name, "preventExtensions");
+
+verifyNotEnumerable(Object.preventExtensions, "name");
+verifyNotWritable(Object.preventExtensions, "name");
+verifyConfigurable(Object.preventExtensions, "name");
diff --git a/test/built-ins/Object/prototype/hasOwnProperty/name.js b/test/built-ins/Object/prototype/hasOwnProperty/name.js
new file mode 100755
index 0000000000..917711f294
--- /dev/null
+++ b/test/built-ins/Object/prototype/hasOwnProperty/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.3.2
+description: >
+  Object.prototype.hasOwnProperty.name is "hasOwnProperty".
+info: >
+  Object.prototype.hasOwnProperty ( V )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.prototype.hasOwnProperty.name, "hasOwnProperty");
+
+verifyNotEnumerable(Object.prototype.hasOwnProperty, "name");
+verifyNotWritable(Object.prototype.hasOwnProperty, "name");
+verifyConfigurable(Object.prototype.hasOwnProperty, "name");
diff --git a/test/built-ins/Object/prototype/isPrototypeOf/name.js b/test/built-ins/Object/prototype/isPrototypeOf/name.js
new file mode 100755
index 0000000000..1bac4500f0
--- /dev/null
+++ b/test/built-ins/Object/prototype/isPrototypeOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.3.3
+description: >
+  Object.prototype.isPrototypeOf.name is "isPrototypeOf".
+info: >
+  Object.prototype.isPrototypeOf ( V )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.prototype.isPrototypeOf.name, "isPrototypeOf");
+
+verifyNotEnumerable(Object.prototype.isPrototypeOf, "name");
+verifyNotWritable(Object.prototype.isPrototypeOf, "name");
+verifyConfigurable(Object.prototype.isPrototypeOf, "name");
diff --git a/test/built-ins/Object/prototype/propertyIsEnumerable/name.js b/test/built-ins/Object/prototype/propertyIsEnumerable/name.js
new file mode 100755
index 0000000000..199b560d37
--- /dev/null
+++ b/test/built-ins/Object/prototype/propertyIsEnumerable/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.3.4
+description: >
+  Object.prototype.propertyIsEnumerable.name is "propertyIsEnumerable".
+info: >
+  Object.prototype.propertyIsEnumerable ( V )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.prototype.propertyIsEnumerable.name, "propertyIsEnumerable");
+
+verifyNotEnumerable(Object.prototype.propertyIsEnumerable, "name");
+verifyNotWritable(Object.prototype.propertyIsEnumerable, "name");
+verifyConfigurable(Object.prototype.propertyIsEnumerable, "name");
diff --git a/test/built-ins/Object/prototype/toLocaleString/name.js b/test/built-ins/Object/prototype/toLocaleString/name.js
new file mode 100755
index 0000000000..5fbb356afb
--- /dev/null
+++ b/test/built-ins/Object/prototype/toLocaleString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.3.5
+description: >
+  Object.prototype.toLocaleString.name is "toLocaleString".
+info: >
+  Object.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.prototype.toLocaleString.name, "toLocaleString");
+
+verifyNotEnumerable(Object.prototype.toLocaleString, "name");
+verifyNotWritable(Object.prototype.toLocaleString, "name");
+verifyConfigurable(Object.prototype.toLocaleString, "name");
diff --git a/test/built-ins/Object/prototype/toString/name.js b/test/built-ins/Object/prototype/toString/name.js
new file mode 100755
index 0000000000..d8fd3db843
--- /dev/null
+++ b/test/built-ins/Object/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.3.6
+description: >
+  Object.prototype.toString.name is "toString".
+info: >
+  Object.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Object.prototype.toString, "name");
+verifyNotWritable(Object.prototype.toString, "name");
+verifyConfigurable(Object.prototype.toString, "name");
diff --git a/test/built-ins/Object/prototype/valueOf/name.js b/test/built-ins/Object/prototype/valueOf/name.js
new file mode 100755
index 0000000000..90900cc35e
--- /dev/null
+++ b/test/built-ins/Object/prototype/valueOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.3.7
+description: >
+  Object.prototype.valueOf.name is "valueOf".
+info: >
+  Object.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.prototype.valueOf.name, "valueOf");
+
+verifyNotEnumerable(Object.prototype.valueOf, "name");
+verifyNotWritable(Object.prototype.valueOf, "name");
+verifyConfigurable(Object.prototype.valueOf, "name");
diff --git a/test/built-ins/Object/seal/name.js b/test/built-ins/Object/seal/name.js
new file mode 100755
index 0000000000..951940a0c9
--- /dev/null
+++ b/test/built-ins/Object/seal/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.17
+description: >
+  Object.seal.name is "seal".
+info: >
+  Object.seal ( O )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.seal.name, "seal");
+
+verifyNotEnumerable(Object.seal, "name");
+verifyNotWritable(Object.seal, "name");
+verifyConfigurable(Object.seal, "name");
diff --git a/test/built-ins/Promise/Symbol.species/length.js b/test/built-ins/Promise/Symbol.species/length.js
new file mode 100755
index 0000000000..708ab316dc
--- /dev/null
+++ b/test/built-ins/Promise/Symbol.species/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 25.4.4.6
+description: >
+  get Promise [ @@species ].length is 0.
+info: >
+  get Promise [ @@species ]
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.species]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(Promise, Symbol.species);
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/Proxy/revocable/length.js b/test/built-ins/Proxy/revocable/length.js
new file mode 100755
index 0000000000..dfd24f1c5b
--- /dev/null
+++ b/test/built-ins/Proxy/revocable/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 26.2.2.1
+description: >
+  Proxy.revocable.length is 2.
+info: >
+  Proxy.revocable ( target, handler )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Proxy.revocable.length, 2);
+
+verifyNotEnumerable(Proxy.revocable, "length");
+verifyNotWritable(Proxy.revocable, "length");
+verifyConfigurable(Proxy.revocable, "length");
diff --git a/test/built-ins/Proxy/revocable/name.js b/test/built-ins/Proxy/revocable/name.js
new file mode 100755
index 0000000000..ac9239b271
--- /dev/null
+++ b/test/built-ins/Proxy/revocable/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 26.2.2.1
+description: >
+  Proxy.revocable.name is "revocable".
+info: >
+  Proxy.revocable ( target, handler )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Proxy.revocable.name, "revocable");
+
+verifyNotEnumerable(Proxy.revocable, "name");
+verifyNotWritable(Proxy.revocable, "name");
+verifyConfigurable(Proxy.revocable, "name");
diff --git a/test/built-ins/RegExp/Symbol.species/length.js b/test/built-ins/RegExp/Symbol.species/length.js
new file mode 100755
index 0000000000..131178f027
--- /dev/null
+++ b/test/built-ins/RegExp/Symbol.species/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.4.2
+description: >
+  get RegExp [ @@species ].length is 0.
+info: >
+  get RegExp [ @@species ]
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.species]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(RegExp, Symbol.species);
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/RegExp/prototype/exec/name.js b/test/built-ins/RegExp/prototype/exec/name.js
new file mode 100755
index 0000000000..cd145ec46c
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/exec/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.2
+description: >
+  RegExp.prototype.exec.name is "exec".
+info: >
+  RegExp.prototype.exec ( string )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(RegExp.prototype.exec.name, "exec");
+
+verifyNotEnumerable(RegExp.prototype.exec, "name");
+verifyNotWritable(RegExp.prototype.exec, "name");
+verifyConfigurable(RegExp.prototype.exec, "name");
diff --git a/test/built-ins/RegExp/prototype/flags/length.js b/test/built-ins/RegExp/prototype/flags/length.js
new file mode 100755
index 0000000000..daec3fce37
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/flags/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.3
+description: >
+  get RegExp.prototype.flags.length is 0.
+info: >
+  get RegExp.prototype.flags
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "flags");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/RegExp/prototype/global/length.js b/test/built-ins/RegExp/prototype/global/length.js
new file mode 100755
index 0000000000..70c4b2b0a6
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/global/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.4
+description: >
+  get RegExp.prototype.global.length is 0.
+info: >
+  get RegExp.prototype.global
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "global");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/RegExp/prototype/ignoreCase/length.js b/test/built-ins/RegExp/prototype/ignoreCase/length.js
new file mode 100755
index 0000000000..7c7d0bf2f8
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/ignoreCase/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.5
+description: >
+  get RegExp.prototype.ignoreCase.length is 0.
+info: >
+  get RegExp.prototype.ignoreCase
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "ignoreCase");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/RegExp/prototype/multiline/length.js b/test/built-ins/RegExp/prototype/multiline/length.js
new file mode 100755
index 0000000000..f943406986
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/multiline/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.7
+description: >
+  get RegExp.prototype.multiline.length is 0.
+info: >
+  get RegExp.prototype.multiline
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "multiline");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/RegExp/prototype/source/length.js b/test/built-ins/RegExp/prototype/source/length.js
new file mode 100755
index 0000000000..15f53cd62b
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/source/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.10
+description: >
+  get RegExp.prototype.source.length is 0.
+info: >
+  get RegExp.prototype.source
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "source");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/RegExp/prototype/sticky/length.js b/test/built-ins/RegExp/prototype/sticky/length.js
new file mode 100755
index 0000000000..f1431ad112
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/sticky/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.12
+description: >
+  get RegExp.prototype.sticky.length is 0.
+info: >
+  get RegExp.prototype.sticky
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, "sticky");
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/RegExp/prototype/test/name.js b/test/built-ins/RegExp/prototype/test/name.js
new file mode 100755
index 0000000000..d5d540f247
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/test/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.13
+description: >
+  RegExp.prototype.test.name is "test".
+info: >
+  RegExp.prototype.test( S )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(RegExp.prototype.test.name, "test");
+
+verifyNotEnumerable(RegExp.prototype.test, "name");
+verifyNotWritable(RegExp.prototype.test, "name");
+verifyConfigurable(RegExp.prototype.test, "name");
diff --git a/test/built-ins/RegExp/prototype/toString/name.js b/test/built-ins/RegExp/prototype/toString/name.js
new file mode 100755
index 0000000000..ae81e6c770
--- /dev/null
+++ b/test/built-ins/RegExp/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.2.5.14
+description: >
+  RegExp.prototype.toString.name is "toString".
+info: >
+  RegExp.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(RegExp.prototype.toString.name, "toString");
+
+verifyNotEnumerable(RegExp.prototype.toString, "name");
+verifyNotWritable(RegExp.prototype.toString, "name");
+verifyConfigurable(RegExp.prototype.toString, "name");
diff --git a/test/built-ins/Set/Symbol.species/length.js b/test/built-ins/Set/Symbol.species/length.js
new file mode 100755
index 0000000000..35218eac46
--- /dev/null
+++ b/test/built-ins/Set/Symbol.species/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 23.2.2.2
+description: >
+  get Set [ @@species ].length is 0.
+info: >
+  get Set [ @@species ]
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.species]
+---*/
+
+var desc = Object.getOwnPropertyDescriptor(Set, Symbol.species);
+
+assert.sameValue(desc.get.length, 0);
+
+verifyNotEnumerable(desc.get, "length");
+verifyNotWritable(desc.get, "length");
+verifyConfigurable(desc.get, "length");
diff --git a/test/built-ins/SetIteratorPrototype/next/length.js b/test/built-ins/SetIteratorPrototype/next/length.js
new file mode 100755
index 0000000000..ac4f5918ef
--- /dev/null
+++ b/test/built-ins/SetIteratorPrototype/next/length.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 23.2.5.2.1
+description: >
+  %SetIteratorPrototype%.next.length is 0.
+info: >
+  %SetIteratorPrototype%.next ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var SetIteratorProto = Object.getPrototypeOf(new Set().values());
+
+assert.sameValue(SetIteratorProto.next.length, 0);
+
+verifyNotEnumerable(SetIteratorProto.next, "length");
+verifyNotWritable(SetIteratorProto.next, "length");
+verifyConfigurable(SetIteratorProto.next, "length");
diff --git a/test/built-ins/SetIteratorPrototype/next/name.js b/test/built-ins/SetIteratorPrototype/next/name.js
new file mode 100755
index 0000000000..9ce68e5628
--- /dev/null
+++ b/test/built-ins/SetIteratorPrototype/next/name.js
@@ -0,0 +1,28 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 23.2.5.2.1
+description: >
+  %SetIteratorPrototype%.next.name is "next".
+info: >
+  %SetIteratorPrototype%.next ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var SetIteratorProto = Object.getPrototypeOf(new Set().values());
+
+assert.sameValue(SetIteratorProto.next.name, "next");
+
+verifyNotEnumerable(SetIteratorProto.next, "name");
+verifyNotWritable(SetIteratorProto.next, "name");
+verifyConfigurable(SetIteratorProto.next, "name");
diff --git a/test/built-ins/String/fromCharCode/name.js b/test/built-ins/String/fromCharCode/name.js
new file mode 100755
index 0000000000..4f45d982c6
--- /dev/null
+++ b/test/built-ins/String/fromCharCode/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.2.1
+description: >
+  String.fromCharCode.name is "fromCharCode".
+info: >
+  String.fromCharCode ( ...codeUnits )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.fromCharCode.name, "fromCharCode");
+
+verifyNotEnumerable(String.fromCharCode, "name");
+verifyNotWritable(String.fromCharCode, "name");
+verifyConfigurable(String.fromCharCode, "name");
diff --git a/test/built-ins/String/prototype/charAt/name.js b/test/built-ins/String/prototype/charAt/name.js
new file mode 100755
index 0000000000..d451630a4d
--- /dev/null
+++ b/test/built-ins/String/prototype/charAt/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.1
+description: >
+  String.prototype.charAt.name is "charAt".
+info: >
+  String.prototype.charAt ( pos )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.charAt.name, "charAt");
+
+verifyNotEnumerable(String.prototype.charAt, "name");
+verifyNotWritable(String.prototype.charAt, "name");
+verifyConfigurable(String.prototype.charAt, "name");
diff --git a/test/built-ins/String/prototype/charCodeAt/name.js b/test/built-ins/String/prototype/charCodeAt/name.js
new file mode 100755
index 0000000000..a03bb78fe6
--- /dev/null
+++ b/test/built-ins/String/prototype/charCodeAt/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.2
+description: >
+  String.prototype.charCodeAt.name is "charCodeAt".
+info: >
+  String.prototype.charCodeAt ( pos )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.charCodeAt.name, "charCodeAt");
+
+verifyNotEnumerable(String.prototype.charCodeAt, "name");
+verifyNotWritable(String.prototype.charCodeAt, "name");
+verifyConfigurable(String.prototype.charCodeAt, "name");
diff --git a/test/built-ins/String/prototype/concat/name.js b/test/built-ins/String/prototype/concat/name.js
new file mode 100755
index 0000000000..c13d67f4b6
--- /dev/null
+++ b/test/built-ins/String/prototype/concat/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.4
+description: >
+  String.prototype.concat.name is "concat".
+info: >
+  String.prototype.concat ( ...args )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.concat.name, "concat");
+
+verifyNotEnumerable(String.prototype.concat, "name");
+verifyNotWritable(String.prototype.concat, "name");
+verifyConfigurable(String.prototype.concat, "name");
diff --git a/test/built-ins/String/prototype/indexOf/name.js b/test/built-ins/String/prototype/indexOf/name.js
new file mode 100755
index 0000000000..22fd3fc4df
--- /dev/null
+++ b/test/built-ins/String/prototype/indexOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.8
+description: >
+  String.prototype.indexOf.name is "indexOf".
+info: >
+  String.prototype.indexOf ( searchString [ , position ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.indexOf.name, "indexOf");
+
+verifyNotEnumerable(String.prototype.indexOf, "name");
+verifyNotWritable(String.prototype.indexOf, "name");
+verifyConfigurable(String.prototype.indexOf, "name");
diff --git a/test/built-ins/String/prototype/lastIndexOf/name.js b/test/built-ins/String/prototype/lastIndexOf/name.js
new file mode 100755
index 0000000000..d5b20dc0f2
--- /dev/null
+++ b/test/built-ins/String/prototype/lastIndexOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.9
+description: >
+  String.prototype.lastIndexOf.name is "lastIndexOf".
+info: >
+  String.prototype.lastIndexOf ( searchString [ , position ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.lastIndexOf.name, "lastIndexOf");
+
+verifyNotEnumerable(String.prototype.lastIndexOf, "name");
+verifyNotWritable(String.prototype.lastIndexOf, "name");
+verifyConfigurable(String.prototype.lastIndexOf, "name");
diff --git a/test/built-ins/String/prototype/localeCompare/name.js b/test/built-ins/String/prototype/localeCompare/name.js
new file mode 100755
index 0000000000..91cac4add7
--- /dev/null
+++ b/test/built-ins/String/prototype/localeCompare/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.10
+description: >
+  String.prototype.localeCompare.name is "localeCompare".
+info: >
+  String.prototype.localeCompare ( that [, reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.localeCompare.name, "localeCompare");
+
+verifyNotEnumerable(String.prototype.localeCompare, "name");
+verifyNotWritable(String.prototype.localeCompare, "name");
+verifyConfigurable(String.prototype.localeCompare, "name");
diff --git a/test/built-ins/String/prototype/match/name.js b/test/built-ins/String/prototype/match/name.js
new file mode 100755
index 0000000000..39eeb302c5
--- /dev/null
+++ b/test/built-ins/String/prototype/match/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.11
+description: >
+  String.prototype.match.name is "match".
+info: >
+  String.prototype.match ( regexp )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.match.name, "match");
+
+verifyNotEnumerable(String.prototype.match, "name");
+verifyNotWritable(String.prototype.match, "name");
+verifyConfigurable(String.prototype.match, "name");
diff --git a/test/built-ins/String/prototype/replace/name.js b/test/built-ins/String/prototype/replace/name.js
new file mode 100755
index 0000000000..8b30cd0cd9
--- /dev/null
+++ b/test/built-ins/String/prototype/replace/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.14
+description: >
+  String.prototype.replace.name is "replace".
+info: >
+  String.prototype.replace (searchValue, replaceValue )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.replace.name, "replace");
+
+verifyNotEnumerable(String.prototype.replace, "name");
+verifyNotWritable(String.prototype.replace, "name");
+verifyConfigurable(String.prototype.replace, "name");
diff --git a/test/built-ins/String/prototype/search/name.js b/test/built-ins/String/prototype/search/name.js
new file mode 100755
index 0000000000..5debfbc6e8
--- /dev/null
+++ b/test/built-ins/String/prototype/search/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.15
+description: >
+  String.prototype.search.name is "search".
+info: >
+  String.prototype.search ( regexp )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.search.name, "search");
+
+verifyNotEnumerable(String.prototype.search, "name");
+verifyNotWritable(String.prototype.search, "name");
+verifyConfigurable(String.prototype.search, "name");
diff --git a/test/built-ins/String/prototype/slice/name.js b/test/built-ins/String/prototype/slice/name.js
new file mode 100755
index 0000000000..99fe7683ed
--- /dev/null
+++ b/test/built-ins/String/prototype/slice/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.16
+description: >
+  String.prototype.slice.name is "slice".
+info: >
+  String.prototype.slice ( start, end )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.slice.name, "slice");
+
+verifyNotEnumerable(String.prototype.slice, "name");
+verifyNotWritable(String.prototype.slice, "name");
+verifyConfigurable(String.prototype.slice, "name");
diff --git a/test/built-ins/String/prototype/split/name.js b/test/built-ins/String/prototype/split/name.js
new file mode 100755
index 0000000000..eb006c574c
--- /dev/null
+++ b/test/built-ins/String/prototype/split/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.17
+description: >
+  String.prototype.split.name is "split".
+info: >
+  String.prototype.split ( separator, limit )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.split.name, "split");
+
+verifyNotEnumerable(String.prototype.split, "name");
+verifyNotWritable(String.prototype.split, "name");
+verifyConfigurable(String.prototype.split, "name");
diff --git a/test/built-ins/String/prototype/substring/name.js b/test/built-ins/String/prototype/substring/name.js
new file mode 100755
index 0000000000..b377cd95fc
--- /dev/null
+++ b/test/built-ins/String/prototype/substring/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.19
+description: >
+  String.prototype.substring.name is "substring".
+info: >
+  String.prototype.substring ( start, end )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.substring.name, "substring");
+
+verifyNotEnumerable(String.prototype.substring, "name");
+verifyNotWritable(String.prototype.substring, "name");
+verifyConfigurable(String.prototype.substring, "name");
diff --git a/test/built-ins/String/prototype/toLocaleLowerCase/name.js b/test/built-ins/String/prototype/toLocaleLowerCase/name.js
new file mode 100755
index 0000000000..9948722472
--- /dev/null
+++ b/test/built-ins/String/prototype/toLocaleLowerCase/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.20
+description: >
+  String.prototype.toLocaleLowerCase.name is "toLocaleLowerCase".
+info: >
+  String.prototype.toLocaleLowerCase ( [ reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.toLocaleLowerCase.name, "toLocaleLowerCase");
+
+verifyNotEnumerable(String.prototype.toLocaleLowerCase, "name");
+verifyNotWritable(String.prototype.toLocaleLowerCase, "name");
+verifyConfigurable(String.prototype.toLocaleLowerCase, "name");
diff --git a/test/built-ins/String/prototype/toLocaleUpperCase/name.js b/test/built-ins/String/prototype/toLocaleUpperCase/name.js
new file mode 100755
index 0000000000..79df515e6f
--- /dev/null
+++ b/test/built-ins/String/prototype/toLocaleUpperCase/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.21
+description: >
+  String.prototype.toLocaleUpperCase.name is "toLocaleUpperCase".
+info: >
+  String.prototype.toLocaleUpperCase ( [ reserved1 [ , reserved2 ] ] )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.toLocaleUpperCase.name, "toLocaleUpperCase");
+
+verifyNotEnumerable(String.prototype.toLocaleUpperCase, "name");
+verifyNotWritable(String.prototype.toLocaleUpperCase, "name");
+verifyConfigurable(String.prototype.toLocaleUpperCase, "name");
diff --git a/test/built-ins/String/prototype/toLowerCase/name.js b/test/built-ins/String/prototype/toLowerCase/name.js
new file mode 100755
index 0000000000..bed742c8d0
--- /dev/null
+++ b/test/built-ins/String/prototype/toLowerCase/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.22
+description: >
+  String.prototype.toLowerCase.name is "toLowerCase".
+info: >
+  String.prototype.toLowerCase ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.toLowerCase.name, "toLowerCase");
+
+verifyNotEnumerable(String.prototype.toLowerCase, "name");
+verifyNotWritable(String.prototype.toLowerCase, "name");
+verifyConfigurable(String.prototype.toLowerCase, "name");
diff --git a/test/built-ins/String/prototype/toString/name.js b/test/built-ins/String/prototype/toString/name.js
new file mode 100755
index 0000000000..07cb2b4e8b
--- /dev/null
+++ b/test/built-ins/String/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.23
+description: >
+  String.prototype.toString.name is "toString".
+info: >
+  String.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.toString.name, "toString");
+
+verifyNotEnumerable(String.prototype.toString, "name");
+verifyNotWritable(String.prototype.toString, "name");
+verifyConfigurable(String.prototype.toString, "name");
diff --git a/test/built-ins/String/prototype/toUpperCase/name.js b/test/built-ins/String/prototype/toUpperCase/name.js
new file mode 100755
index 0000000000..d8cf419378
--- /dev/null
+++ b/test/built-ins/String/prototype/toUpperCase/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.24
+description: >
+  String.prototype.toUpperCase.name is "toUpperCase".
+info: >
+  String.prototype.toUpperCase ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.toUpperCase.name, "toUpperCase");
+
+verifyNotEnumerable(String.prototype.toUpperCase, "name");
+verifyNotWritable(String.prototype.toUpperCase, "name");
+verifyConfigurable(String.prototype.toUpperCase, "name");
diff --git a/test/built-ins/String/prototype/trim/name.js b/test/built-ins/String/prototype/trim/name.js
new file mode 100755
index 0000000000..0747f2f0b0
--- /dev/null
+++ b/test/built-ins/String/prototype/trim/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.25
+description: >
+  String.prototype.trim.name is "trim".
+info: >
+  String.prototype.trim ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.trim.name, "trim");
+
+verifyNotEnumerable(String.prototype.trim, "name");
+verifyNotWritable(String.prototype.trim, "name");
+verifyConfigurable(String.prototype.trim, "name");
diff --git a/test/built-ins/String/prototype/valueOf/length.js b/test/built-ins/String/prototype/valueOf/length.js
new file mode 100755
index 0000000000..d6de6ff023
--- /dev/null
+++ b/test/built-ins/String/prototype/valueOf/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.26
+description: >
+  String.prototype.valueOf.length is 0.
+info: >
+  String.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.valueOf.length, 0);
+
+verifyNotEnumerable(String.prototype.valueOf, "length");
+verifyNotWritable(String.prototype.valueOf, "length");
+verifyConfigurable(String.prototype.valueOf, "length");
diff --git a/test/built-ins/String/prototype/valueOf/name.js b/test/built-ins/String/prototype/valueOf/name.js
new file mode 100755
index 0000000000..8b54a933be
--- /dev/null
+++ b/test/built-ins/String/prototype/valueOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.3.26
+description: >
+  String.prototype.valueOf.name is "valueOf".
+info: >
+  String.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(String.prototype.valueOf.name, "valueOf");
+
+verifyNotEnumerable(String.prototype.valueOf, "name");
+verifyNotWritable(String.prototype.valueOf, "name");
+verifyConfigurable(String.prototype.valueOf, "name");
diff --git a/test/built-ins/StringIteratorPrototype/next/length.js b/test/built-ins/StringIteratorPrototype/next/length.js
new file mode 100755
index 0000000000..21af8b102e
--- /dev/null
+++ b/test/built-ins/StringIteratorPrototype/next/length.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.5.2.1
+description: >
+  %StringIteratorPrototype%.next.length is 0.
+info: >
+  %StringIteratorPrototype%.next ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.iterator]
+---*/
+
+var StringIteratorProto = Object.getPrototypeOf(new String()[Symbol.iterator]());
+
+assert.sameValue(StringIteratorProto.next.length, 0);
+
+verifyNotEnumerable(StringIteratorProto.next, "length");
+verifyNotWritable(StringIteratorProto.next, "length");
+verifyConfigurable(StringIteratorProto.next, "length");
diff --git a/test/built-ins/StringIteratorPrototype/next/name.js b/test/built-ins/StringIteratorPrototype/next/name.js
new file mode 100755
index 0000000000..a0a9aae758
--- /dev/null
+++ b/test/built-ins/StringIteratorPrototype/next/name.js
@@ -0,0 +1,28 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 21.1.5.2.1
+description: >
+  %StringIteratorPrototype%.next.name is "next".
+info: >
+  %StringIteratorPrototype%.next ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+var StringIteratorProto = Object.getPrototypeOf(new String()[Symbol.iterator]());
+
+assert.sameValue(StringIteratorProto.next.name, "next");
+
+verifyNotEnumerable(StringIteratorProto.next, "name");
+verifyNotWritable(StringIteratorProto.next, "name");
+verifyConfigurable(StringIteratorProto.next, "name");
diff --git a/test/built-ins/Symbol/for/length.js b/test/built-ins/Symbol/for/length.js
new file mode 100755
index 0000000000..488209b40b
--- /dev/null
+++ b/test/built-ins/Symbol/for/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.2.1
+description: >
+  Symbol.for.length is 1.
+info: >
+  Symbol.for ( key )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.for.length, 1);
+
+verifyNotEnumerable(Symbol.for, "length");
+verifyNotWritable(Symbol.for, "length");
+verifyConfigurable(Symbol.for, "length");
diff --git a/test/built-ins/Symbol/for/name.js b/test/built-ins/Symbol/for/name.js
new file mode 100755
index 0000000000..03f03b871c
--- /dev/null
+++ b/test/built-ins/Symbol/for/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.2.1
+description: >
+  Symbol.for.name is "for".
+info: >
+  Symbol.for ( key )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.for.name, "for");
+
+verifyNotEnumerable(Symbol.for, "name");
+verifyNotWritable(Symbol.for, "name");
+verifyConfigurable(Symbol.for, "name");
diff --git a/test/built-ins/Symbol/keyFor/length.js b/test/built-ins/Symbol/keyFor/length.js
new file mode 100755
index 0000000000..b16ed56d74
--- /dev/null
+++ b/test/built-ins/Symbol/keyFor/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.2.5
+description: >
+  Symbol.keyFor.length is 1.
+info: >
+  Symbol.keyFor ( sym )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.keyFor.length, 1);
+
+verifyNotEnumerable(Symbol.keyFor, "length");
+verifyNotWritable(Symbol.keyFor, "length");
+verifyConfigurable(Symbol.keyFor, "length");
diff --git a/test/built-ins/Symbol/keyFor/name.js b/test/built-ins/Symbol/keyFor/name.js
new file mode 100755
index 0000000000..303622243f
--- /dev/null
+++ b/test/built-ins/Symbol/keyFor/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.2.5
+description: >
+  Symbol.keyFor.name is "keyFor".
+info: >
+  Symbol.keyFor ( sym )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.keyFor.name, "keyFor");
+
+verifyNotEnumerable(Symbol.keyFor, "name");
+verifyNotWritable(Symbol.keyFor, "name");
+verifyConfigurable(Symbol.keyFor, "name");
diff --git a/test/built-ins/Symbol/prototype/toString/length.js b/test/built-ins/Symbol/prototype/toString/length.js
new file mode 100755
index 0000000000..6346aaa7ee
--- /dev/null
+++ b/test/built-ins/Symbol/prototype/toString/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.3.2
+description: >
+  Symbol.prototype.toString.length is 0.
+info: >
+  Symbol.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.prototype.toString.length, 0);
+
+verifyNotEnumerable(Symbol.prototype.toString, "length");
+verifyNotWritable(Symbol.prototype.toString, "length");
+verifyConfigurable(Symbol.prototype.toString, "length");
diff --git a/test/built-ins/Symbol/prototype/toString/name.js b/test/built-ins/Symbol/prototype/toString/name.js
new file mode 100755
index 0000000000..5876c30982
--- /dev/null
+++ b/test/built-ins/Symbol/prototype/toString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.3.2
+description: >
+  Symbol.prototype.toString.name is "toString".
+info: >
+  Symbol.prototype.toString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.prototype.toString.name, "toString");
+
+verifyNotEnumerable(Symbol.prototype.toString, "name");
+verifyNotWritable(Symbol.prototype.toString, "name");
+verifyConfigurable(Symbol.prototype.toString, "name");
diff --git a/test/built-ins/Symbol/prototype/valueOf/length.js b/test/built-ins/Symbol/prototype/valueOf/length.js
new file mode 100755
index 0000000000..0b77cc8169
--- /dev/null
+++ b/test/built-ins/Symbol/prototype/valueOf/length.js
@@ -0,0 +1,29 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.3.3
+description: >
+  Symbol.prototype.valueOf.length is 0.
+info: >
+  Symbol.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, has a length
+    property whose value is an integer. Unless otherwise specified, this
+    value is equal to the largest number of named arguments shown in the
+    subclause headings for the function description, including optional
+    parameters. However, rest parameters shown using the form “...name”
+    are not included in the default argument count.
+
+    Unless otherwise specified, the length property of a built-in Function
+    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
+    [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.prototype.valueOf.length, 0);
+
+verifyNotEnumerable(Symbol.prototype.valueOf, "length");
+verifyNotWritable(Symbol.prototype.valueOf, "length");
+verifyConfigurable(Symbol.prototype.valueOf, "length");
diff --git a/test/built-ins/Symbol/prototype/valueOf/name.js b/test/built-ins/Symbol/prototype/valueOf/name.js
new file mode 100755
index 0000000000..856448462e
--- /dev/null
+++ b/test/built-ins/Symbol/prototype/valueOf/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.4.3.3
+description: >
+  Symbol.prototype.valueOf.name is "valueOf".
+info: >
+  Symbol.prototype.valueOf ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Symbol.prototype.valueOf.name, "valueOf");
+
+verifyNotEnumerable(Symbol.prototype.valueOf, "name");
+verifyNotWritable(Symbol.prototype.valueOf, "name");
+verifyConfigurable(Symbol.prototype.valueOf, "name");
diff --git a/test/built-ins/decodeURI/name.js b/test/built-ins/decodeURI/name.js
new file mode 100755
index 0000000000..75a6412b33
--- /dev/null
+++ b/test/built-ins/decodeURI/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.6.2
+description: >
+  decodeURI.name is "decodeURI".
+info: >
+  decodeURI (encodedURI)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(decodeURI.name, "decodeURI");
+
+verifyNotEnumerable(decodeURI, "name");
+verifyNotWritable(decodeURI, "name");
+verifyConfigurable(decodeURI, "name");
diff --git a/test/built-ins/decodeURIComponent/name.js b/test/built-ins/decodeURIComponent/name.js
new file mode 100755
index 0000000000..a3d8794d44
--- /dev/null
+++ b/test/built-ins/decodeURIComponent/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.6.3
+description: >
+  decodeURIComponent.name is "decodeURIComponent".
+info: >
+  decodeURIComponent (encodedURIComponent)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(decodeURIComponent.name, "decodeURIComponent");
+
+verifyNotEnumerable(decodeURIComponent, "name");
+verifyNotWritable(decodeURIComponent, "name");
+verifyConfigurable(decodeURIComponent, "name");
diff --git a/test/built-ins/encodeURI/name.js b/test/built-ins/encodeURI/name.js
new file mode 100755
index 0000000000..dd8ddca6fa
--- /dev/null
+++ b/test/built-ins/encodeURI/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.6.4
+description: >
+  encodeURI.name is "encodeURI".
+info: >
+  encodeURI (uri)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(encodeURI.name, "encodeURI");
+
+verifyNotEnumerable(encodeURI, "name");
+verifyNotWritable(encodeURI, "name");
+verifyConfigurable(encodeURI, "name");
diff --git a/test/built-ins/encodeURIComponent/name.js b/test/built-ins/encodeURIComponent/name.js
new file mode 100755
index 0000000000..3ba22ac73e
--- /dev/null
+++ b/test/built-ins/encodeURIComponent/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.6.5
+description: >
+  encodeURIComponent.name is "encodeURIComponent".
+info: >
+  encodeURIComponent (uriComponent)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(encodeURIComponent.name, "encodeURIComponent");
+
+verifyNotEnumerable(encodeURIComponent, "name");
+verifyNotWritable(encodeURIComponent, "name");
+verifyConfigurable(encodeURIComponent, "name");
diff --git a/test/built-ins/eval/name.js b/test/built-ins/eval/name.js
new file mode 100755
index 0000000000..2b844d22a6
--- /dev/null
+++ b/test/built-ins/eval/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.1
+description: >
+  eval.name is "eval".
+info: >
+  eval (x)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(eval.name, "eval");
+
+verifyNotEnumerable(eval, "name");
+verifyNotWritable(eval, "name");
+verifyConfigurable(eval, "name");
diff --git a/test/built-ins/isFinite/name.js b/test/built-ins/isFinite/name.js
new file mode 100755
index 0000000000..d9775c23e4
--- /dev/null
+++ b/test/built-ins/isFinite/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.2
+description: >
+  isFinite.name is "isFinite".
+info: >
+  isFinite (number)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(isFinite.name, "isFinite");
+
+verifyNotEnumerable(isFinite, "name");
+verifyNotWritable(isFinite, "name");
+verifyConfigurable(isFinite, "name");
diff --git a/test/built-ins/isNaN/name.js b/test/built-ins/isNaN/name.js
new file mode 100755
index 0000000000..f4e7e50b6d
--- /dev/null
+++ b/test/built-ins/isNaN/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.3
+description: >
+  isNaN.name is "isNaN".
+info: >
+  isNaN (number)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(isNaN.name, "isNaN");
+
+verifyNotEnumerable(isNaN, "name");
+verifyNotWritable(isNaN, "name");
+verifyConfigurable(isNaN, "name");
diff --git a/test/built-ins/parseFloat/name.js b/test/built-ins/parseFloat/name.js
new file mode 100755
index 0000000000..fc2f356ec2
--- /dev/null
+++ b/test/built-ins/parseFloat/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.4
+description: >
+  parseFloat.name is "parseFloat".
+info: >
+  parseFloat (string)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(parseFloat.name, "parseFloat");
+
+verifyNotEnumerable(parseFloat, "name");
+verifyNotWritable(parseFloat, "name");
+verifyConfigurable(parseFloat, "name");
diff --git a/test/built-ins/parseInt/name.js b/test/built-ins/parseInt/name.js
new file mode 100755
index 0000000000..795302b3bf
--- /dev/null
+++ b/test/built-ins/parseInt/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 18.2.5
+description: >
+  parseInt.name is "parseInt".
+info: >
+  parseInt (string , radix)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name property of a built-in Function
+    object, if it exists, has the attributes { [[Writable]]: false,
+    [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(parseInt.name, "parseInt");
+
+verifyNotEnumerable(parseInt, "name");
+verifyNotWritable(parseInt, "name");
+verifyConfigurable(parseInt, "name");
-- 
GitLab