summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtest/built-ins/Array/Symbol.species/length.js32
-rwxr-xr-xtest/built-ins/Array/isArray/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/concat/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/every/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/filter/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/forEach/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/indexOf/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/join/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/lastIndexOf/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/map/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/pop/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/push/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/reduce/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/reduceRight/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/reverse/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/shift/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/slice/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/some/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/sort/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/splice/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/toLocaleString/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Array/prototype/unshift/name.js26
-rwxr-xr-xtest/built-ins/ArrayBuffer/Symbol.species/length.js32
-rwxr-xr-xtest/built-ins/ArrayBuffer/isView/length.js29
-rwxr-xr-xtest/built-ins/ArrayBuffer/isView/name.js26
-rwxr-xr-xtest/built-ins/ArrayBuffer/prototype/byteLength/length.js31
-rwxr-xr-xtest/built-ins/ArrayIteratorPrototype/next/length.js31
-rwxr-xr-xtest/built-ins/ArrayIteratorPrototype/next/name.js28
-rwxr-xr-xtest/built-ins/Boolean/prototype/toString/length.js29
-rwxr-xr-xtest/built-ins/Boolean/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Boolean/prototype/valueOf/length.js29
-rwxr-xr-xtest/built-ins/Boolean/prototype/valueOf/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/buffer/length.js31
-rwxr-xr-xtest/built-ins/DataView/prototype/byteLength/length.js31
-rwxr-xr-xtest/built-ins/DataView/prototype/byteOffset/length.js31
-rwxr-xr-xtest/built-ins/DataView/prototype/getFloat32/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/getFloat32/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/getFloat64/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/getFloat64/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/getInt16/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/getInt16/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/getInt32/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/getInt32/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/getInt8/length.js29
-rwxr-xr-xtest/built-ins/DataView/prototype/getInt8/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/getUint16/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/getUint16/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/getUint32/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/getUint32/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/getUint8/length.js29
-rwxr-xr-xtest/built-ins/DataView/prototype/getUint8/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setFloat32/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/setFloat32/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setFloat64/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/setFloat64/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setInt16/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/setInt16/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setInt32/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/setInt32/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setInt8/length.js29
-rwxr-xr-xtest/built-ins/DataView/prototype/setInt8/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setUint16/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/setUint16/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setUint32/length.js30
-rwxr-xr-xtest/built-ins/DataView/prototype/setUint32/name.js26
-rwxr-xr-xtest/built-ins/DataView/prototype/setUint8/length.js29
-rwxr-xr-xtest/built-ins/DataView/prototype/setUint8/name.js26
-rwxr-xr-xtest/built-ins/Date/UTC/name.js26
-rwxr-xr-xtest/built-ins/Date/now/name.js26
-rwxr-xr-xtest/built-ins/Date/parse/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getDate/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getDay/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getFullYear/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getHours/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getMilliseconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getMinutes/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getMonth/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getSeconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getTime/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getTimezoneOffset/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCDate/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCDay/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCFullYear/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCHours/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCMilliseconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCMinutes/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCMonth/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/getUTCSeconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setDate/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setFullYear/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setHours/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setMilliseconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setMinutes/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setMonth/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setSeconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setTime/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setUTCDate/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setUTCFullYear/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setUTCHours/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setUTCMilliseconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setUTCMinutes/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setUTCMonth/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/setUTCSeconds/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toDateString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toISOString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toJSON/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toLocaleDateString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toLocaleString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toLocaleTimeString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toTimeString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/toUTCString/name.js26
-rwxr-xr-xtest/built-ins/Date/prototype/valueOf/name.js26
-rwxr-xr-xtest/built-ins/Error/prototype/toString/length.js29
-rwxr-xr-xtest/built-ins/Error/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Function/prototype/apply/name.js26
-rwxr-xr-xtest/built-ins/Function/prototype/bind/name.js26
-rwxr-xr-xtest/built-ins/Function/prototype/call/name.js26
-rwxr-xr-xtest/built-ins/Function/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/GeneratorPrototype/next/length.js32
-rwxr-xr-xtest/built-ins/GeneratorPrototype/next/name.js29
-rwxr-xr-xtest/built-ins/GeneratorPrototype/return/length.js32
-rwxr-xr-xtest/built-ins/GeneratorPrototype/return/name.js29
-rwxr-xr-xtest/built-ins/GeneratorPrototype/throw/length.js32
-rwxr-xr-xtest/built-ins/GeneratorPrototype/throw/name.js29
-rwxr-xr-xtest/built-ins/JSON/parse/name.js26
-rwxr-xr-xtest/built-ins/JSON/stringify/name.js26
-rwxr-xr-xtest/built-ins/Map/Symbol.species/length.js32
-rwxr-xr-xtest/built-ins/MapIteratorPrototype/next/length.js31
-rwxr-xr-xtest/built-ins/MapIteratorPrototype/next/name.js28
-rwxr-xr-xtest/built-ins/Math/abs/length.js29
-rwxr-xr-xtest/built-ins/Math/abs/name.js26
-rwxr-xr-xtest/built-ins/Math/acos/length.js29
-rwxr-xr-xtest/built-ins/Math/acos/name.js26
-rwxr-xr-xtest/built-ins/Math/acosh/name.js26
-rwxr-xr-xtest/built-ins/Math/asin/length.js29
-rwxr-xr-xtest/built-ins/Math/asin/name.js26
-rwxr-xr-xtest/built-ins/Math/asinh/name.js26
-rwxr-xr-xtest/built-ins/Math/atan/length.js29
-rwxr-xr-xtest/built-ins/Math/atan/name.js26
-rwxr-xr-xtest/built-ins/Math/atan2/length.js29
-rwxr-xr-xtest/built-ins/Math/atan2/name.js26
-rwxr-xr-xtest/built-ins/Math/atanh/name.js26
-rwxr-xr-xtest/built-ins/Math/cbrt/name.js26
-rwxr-xr-xtest/built-ins/Math/ceil/length.js29
-rwxr-xr-xtest/built-ins/Math/ceil/name.js26
-rwxr-xr-xtest/built-ins/Math/clz32/length.js29
-rwxr-xr-xtest/built-ins/Math/clz32/name.js26
-rwxr-xr-xtest/built-ins/Math/cos/length.js29
-rwxr-xr-xtest/built-ins/Math/cos/name.js26
-rwxr-xr-xtest/built-ins/Math/cosh/name.js26
-rwxr-xr-xtest/built-ins/Math/exp/length.js29
-rwxr-xr-xtest/built-ins/Math/exp/name.js26
-rwxr-xr-xtest/built-ins/Math/expm1/name.js26
-rwxr-xr-xtest/built-ins/Math/floor/length.js29
-rwxr-xr-xtest/built-ins/Math/floor/name.js26
-rwxr-xr-xtest/built-ins/Math/fround/length.js29
-rwxr-xr-xtest/built-ins/Math/fround/name.js26
-rwxr-xr-xtest/built-ins/Math/hypot/name.js26
-rwxr-xr-xtest/built-ins/Math/imul/name.js26
-rwxr-xr-xtest/built-ins/Math/log/length.js29
-rwxr-xr-xtest/built-ins/Math/log/name.js26
-rwxr-xr-xtest/built-ins/Math/log10/name.js26
-rwxr-xr-xtest/built-ins/Math/log1p/name.js26
-rwxr-xr-xtest/built-ins/Math/log2/name.js26
-rwxr-xr-xtest/built-ins/Math/max/name.js26
-rwxr-xr-xtest/built-ins/Math/min/name.js26
-rwxr-xr-xtest/built-ins/Math/pow/length.js29
-rwxr-xr-xtest/built-ins/Math/pow/name.js26
-rwxr-xr-xtest/built-ins/Math/random/length.js29
-rwxr-xr-xtest/built-ins/Math/random/name.js26
-rwxr-xr-xtest/built-ins/Math/round/length.js29
-rwxr-xr-xtest/built-ins/Math/round/name.js26
-rwxr-xr-xtest/built-ins/Math/sign/name.js26
-rwxr-xr-xtest/built-ins/Math/sin/length.js29
-rwxr-xr-xtest/built-ins/Math/sin/name.js26
-rwxr-xr-xtest/built-ins/Math/sinh/name.js26
-rwxr-xr-xtest/built-ins/Math/sqrt/length.js29
-rwxr-xr-xtest/built-ins/Math/sqrt/name.js26
-rwxr-xr-xtest/built-ins/Math/tan/length.js29
-rwxr-xr-xtest/built-ins/Math/tan/name.js26
-rwxr-xr-xtest/built-ins/Math/tanh/name.js26
-rwxr-xr-xtest/built-ins/Math/trunc/name.js26
-rwxr-xr-xtest/built-ins/Number/isFinite/length.js29
-rwxr-xr-xtest/built-ins/Number/isFinite/name.js26
-rwxr-xr-xtest/built-ins/Number/isInteger/length.js29
-rwxr-xr-xtest/built-ins/Number/isInteger/name.js26
-rwxr-xr-xtest/built-ins/Number/isNaN/length.js29
-rwxr-xr-xtest/built-ins/Number/isNaN/name.js26
-rwxr-xr-xtest/built-ins/Number/isSafeInteger/length.js29
-rwxr-xr-xtest/built-ins/Number/isSafeInteger/name.js26
-rwxr-xr-xtest/built-ins/Number/prototype/toExponential/length.js29
-rwxr-xr-xtest/built-ins/Number/prototype/toExponential/name.js26
-rwxr-xr-xtest/built-ins/Number/prototype/toFixed/name.js26
-rwxr-xr-xtest/built-ins/Number/prototype/toLocaleString/length.js29
-rwxr-xr-xtest/built-ins/Number/prototype/toLocaleString/name.js26
-rwxr-xr-xtest/built-ins/Number/prototype/toPrecision/length.js29
-rwxr-xr-xtest/built-ins/Number/prototype/toPrecision/name.js26
-rwxr-xr-xtest/built-ins/Number/prototype/toString/length.js29
-rwxr-xr-xtest/built-ins/Number/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Number/prototype/valueOf/length.js29
-rwxr-xr-xtest/built-ins/Number/prototype/valueOf/name.js26
-rwxr-xr-xtest/built-ins/Object/create/name.js26
-rwxr-xr-xtest/built-ins/Object/defineProperties/name.js26
-rwxr-xr-xtest/built-ins/Object/defineProperty/name.js26
-rwxr-xr-xtest/built-ins/Object/freeze/name.js26
-rwxr-xr-xtest/built-ins/Object/getOwnPropertyDescriptor/name.js26
-rwxr-xr-xtest/built-ins/Object/getOwnPropertyNames/name.js26
-rwxr-xr-xtest/built-ins/Object/getOwnPropertySymbols/length.js29
-rwxr-xr-xtest/built-ins/Object/getOwnPropertySymbols/name.js26
-rwxr-xr-xtest/built-ins/Object/getPrototypeOf/name.js26
-rwxr-xr-xtest/built-ins/Object/isExtensible/name.js26
-rwxr-xr-xtest/built-ins/Object/isFrozen/name.js26
-rwxr-xr-xtest/built-ins/Object/isSealed/name.js26
-rwxr-xr-xtest/built-ins/Object/keys/name.js26
-rwxr-xr-xtest/built-ins/Object/preventExtensions/name.js26
-rwxr-xr-xtest/built-ins/Object/prototype/hasOwnProperty/name.js26
-rwxr-xr-xtest/built-ins/Object/prototype/isPrototypeOf/name.js26
-rwxr-xr-xtest/built-ins/Object/prototype/propertyIsEnumerable/name.js26
-rwxr-xr-xtest/built-ins/Object/prototype/toLocaleString/name.js26
-rwxr-xr-xtest/built-ins/Object/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Object/prototype/valueOf/name.js26
-rwxr-xr-xtest/built-ins/Object/seal/name.js26
-rwxr-xr-xtest/built-ins/Promise/Symbol.species/length.js32
-rwxr-xr-xtest/built-ins/Proxy/revocable/length.js29
-rwxr-xr-xtest/built-ins/Proxy/revocable/name.js26
-rwxr-xr-xtest/built-ins/RegExp/Symbol.species/length.js32
-rwxr-xr-xtest/built-ins/RegExp/prototype/exec/name.js26
-rwxr-xr-xtest/built-ins/RegExp/prototype/flags/length.js31
-rwxr-xr-xtest/built-ins/RegExp/prototype/global/length.js31
-rwxr-xr-xtest/built-ins/RegExp/prototype/ignoreCase/length.js31
-rwxr-xr-xtest/built-ins/RegExp/prototype/multiline/length.js31
-rwxr-xr-xtest/built-ins/RegExp/prototype/source/length.js31
-rwxr-xr-xtest/built-ins/RegExp/prototype/sticky/length.js31
-rwxr-xr-xtest/built-ins/RegExp/prototype/test/name.js26
-rwxr-xr-xtest/built-ins/RegExp/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Set/Symbol.species/length.js32
-rwxr-xr-xtest/built-ins/SetIteratorPrototype/next/length.js31
-rwxr-xr-xtest/built-ins/SetIteratorPrototype/next/name.js28
-rwxr-xr-xtest/built-ins/String/fromCharCode/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/charAt/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/charCodeAt/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/concat/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/indexOf/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/lastIndexOf/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/localeCompare/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/match/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/replace/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/search/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/slice/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/split/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/substring/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/toLocaleLowerCase/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/toLocaleUpperCase/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/toLowerCase/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/toUpperCase/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/trim/name.js26
-rwxr-xr-xtest/built-ins/String/prototype/valueOf/length.js29
-rwxr-xr-xtest/built-ins/String/prototype/valueOf/name.js26
-rwxr-xr-xtest/built-ins/StringIteratorPrototype/next/length.js32
-rwxr-xr-xtest/built-ins/StringIteratorPrototype/next/name.js28
-rwxr-xr-xtest/built-ins/Symbol/for/length.js29
-rwxr-xr-xtest/built-ins/Symbol/for/name.js26
-rwxr-xr-xtest/built-ins/Symbol/keyFor/length.js29
-rwxr-xr-xtest/built-ins/Symbol/keyFor/name.js26
-rwxr-xr-xtest/built-ins/Symbol/prototype/toString/length.js29
-rwxr-xr-xtest/built-ins/Symbol/prototype/toString/name.js26
-rwxr-xr-xtest/built-ins/Symbol/prototype/valueOf/length.js29
-rwxr-xr-xtest/built-ins/Symbol/prototype/valueOf/name.js26
-rwxr-xr-xtest/built-ins/decodeURI/name.js26
-rwxr-xr-xtest/built-ins/decodeURIComponent/name.js26
-rwxr-xr-xtest/built-ins/encodeURI/name.js26
-rwxr-xr-xtest/built-ins/encodeURIComponent/name.js26
-rwxr-xr-xtest/built-ins/eval/name.js26
-rwxr-xr-xtest/built-ins/isFinite/name.js26
-rwxr-xr-xtest/built-ins/isNaN/name.js26
-rwxr-xr-xtest/built-ins/parseFloat/name.js26
-rwxr-xr-xtest/built-ins/parseInt/name.js26
280 files changed, 7596 insertions, 0 deletions
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 000000000..d50fe6190
--- /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 000000000..bf4464f1d
--- /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 000000000..beac1601b
--- /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 000000000..6ef522c10
--- /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 000000000..3912493b0
--- /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 000000000..7d072517c
--- /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 000000000..a909f7466
--- /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 000000000..722bd4282
--- /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 000000000..a36863ed0
--- /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 000000000..7869f819b
--- /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 000000000..6facd522e
--- /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 000000000..296e9ffdf
--- /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 000000000..db8087ab2
--- /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 000000000..997d3091d
--- /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 000000000..a1be6222c
--- /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 000000000..0f0700280
--- /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 000000000..1315400d3
--- /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 000000000..c6b1d031a
--- /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 000000000..d7b9905a9
--- /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 000000000..7dd3bf5e7
--- /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 000000000..581819b6f
--- /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 000000000..efb07edee
--- /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 000000000..536c78c5e
--- /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 000000000..fe55fc4a3
--- /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 000000000..f08bd1662
--- /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 000000000..2db379d2e
--- /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 000000000..942f322f6
--- /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 000000000..dfef2e6c1
--- /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 000000000..02fc02125
--- /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 000000000..7b9efa859
--- /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 000000000..799242fbd
--- /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 000000000..2db733432
--- /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 000000000..c8c735064
--- /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 000000000..6d71e9f6c
--- /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 000000000..da9e6af88
--- /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 000000000..d6290c82b
--- /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 000000000..e349ab252
--- /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 000000000..b0afb76fb
--- /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 000000000..5e2cb57f8
--- /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 000000000..7d7301c4f
--- /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 000000000..cf0e589a7
--- /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 000000000..b61bb435e
--- /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 000000000..e8651ec7f
--- /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 000000000..1e1e408c0
--- /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 000000000..c1ca98b45
--- /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 000000000..8fb9493a5
--- /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 000000000..f092ec2b5
--- /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 000000000..754db7d79
--- /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 000000000..fd7f82121
--- /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 000000000..fc022c26d
--- /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 000000000..cce0cd844
--- /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 000000000..269197af4
--- /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 000000000..832fd7359
--- /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 000000000..6435989eb
--- /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 000000000..df566d6d3
--- /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 000000000..ffacf4048
--- /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 000000000..7685da563
--- /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 000000000..44591dd4a
--- /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 000000000..5150739df
--- /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 000000000..e62e1bf46
--- /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 000000000..8120cd211
--- /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 000000000..e0c1eafec
--- /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 000000000..541d8f1f1
--- /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 000000000..957241547
--- /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 000000000..ebbf330cf
--- /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 000000000..dda373f1f
--- /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 000000000..6c868a7da
--- /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 000000000..8333822b1
--- /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 000000000..4f53387c1
--- /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 000000000..65c007d08
--- /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 000000000..446c06b9d
--- /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 000000000..4843a59d1
--- /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 000000000..edd034dfd
--- /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 000000000..9411a16df
--- /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 000000000..d9d4008e3
--- /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 000000000..31c23ad2d
--- /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 000000000..dc5ce798e
--- /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 000000000..044da6e25
--- /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 000000000..48fa7f0c9
--- /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 000000000..5f4ee79c7
--- /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 000000000..a556b718c
--- /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 000000000..66fa820c9
--- /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 000000000..a8d3a53cc
--- /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 000000000..ff94ba40c
--- /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 000000000..118d7b197
--- /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 000000000..e3bd65423
--- /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 000000000..ff51f0de8
--- /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 000000000..aebf59967
--- /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 000000000..260136df2
--- /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 000000000..8d66e4dc5
--- /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 000000000..3d2754444
--- /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 000000000..b1f415f87
--- /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 000000000..ba14aaeee
--- /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 000000000..4f287ade1
--- /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 000000000..f61a2dcfe
--- /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 000000000..dd06cd150
--- /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 000000000..b3ada24de
--- /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 000000000..be6694c43
--- /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 000000000..de5775833
--- /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 000000000..ed616babd
--- /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 000000000..c7f78a255
--- /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 000000000..6706e7347
--- /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 000000000..a23d7ccfe
--- /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 000000000..0c663b07a
--- /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 000000000..b03c83b5b
--- /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 000000000..24a05dd60
--- /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 000000000..d6496762e
--- /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 000000000..cb3aa147b
--- /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 000000000..855179114
--- /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 000000000..63599ce2f
--- /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 000000000..edc0c064a
--- /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 000000000..c5c766a40
--- /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 000000000..83dceb6de
--- /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 000000000..afc1d8777
--- /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 000000000..2a8f596c2
--- /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 000000000..b9c8ffbb6
--- /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 000000000..61a6a78d3
--- /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 000000000..354bb5023
--- /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 000000000..0906316c0
--- /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 000000000..4b4cc6c29
--- /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 000000000..8660b391a
--- /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 000000000..a71fec48e
--- /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 000000000..fd7e72aa5
--- /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 000000000..79f1df8c1
--- /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 000000000..ecd05a458
--- /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 000000000..f005b26d2
--- /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 000000000..860527209
--- /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 000000000..907632fab
--- /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 000000000..156755e36
--- /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 000000000..782a0ba9d
--- /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 000000000..b7a7dde7d
--- /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 000000000..9cc5cd961
--- /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 000000000..c5cd3a4d5
--- /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 000000000..b46ffcf13
--- /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 000000000..9a32db720
--- /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 000000000..4f6af5da8
--- /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 000000000..b11571908
--- /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 000000000..4d5ff0d29
--- /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 000000000..e9c9bfc6f
--- /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 000000000..15a384988
--- /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 000000000..83e664851
--- /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 000000000..59ab3355e
--- /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 000000000..3adfffcb9
--- /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 000000000..e7d281ce6
--- /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 000000000..c0c77c9dc
--- /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 000000000..efd211725
--- /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 000000000..950cafe19
--- /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 000000000..0b1151944
--- /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 000000000..7e99ef904
--- /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 000000000..e7e5f69c3
--- /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 000000000..916482e9f
--- /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 000000000..9dcbb2f2b
--- /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 000000000..bcbd72211
--- /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 000000000..6caabb859
--- /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 000000000..03521ecca
--- /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 000000000..a5634c8a2
--- /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 000000000..0b9631da1
--- /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 000000000..483abce16
--- /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 000000000..bf28cd19a
--- /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 000000000..34e55b501
--- /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 000000000..cf6c423bd
--- /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 000000000..ecc44d548
--- /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 000000000..bd46dbaaf
--- /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 000000000..11c345823
--- /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 000000000..7f5048b9e
--- /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 000000000..4b319a067
--- /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 000000000..e64109367
--- /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 000000000..65e0cb2a9
--- /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 000000000..7c893b624
--- /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 000000000..1657ad909
--- /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 000000000..e89981daf
--- /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 000000000..c47025da5
--- /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 000000000..071f6820f
--- /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 000000000..4c71bfe8d
--- /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 000000000..89cbe6020
--- /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 000000000..55d6e5e8e
--- /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 000000000..dec5bcf66
--- /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 000000000..2ff1a269c
--- /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 000000000..3ca90f5d8
--- /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 000000000..425c39c0c
--- /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 000000000..ebfc53fa8
--- /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 000000000..bef908adc
--- /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 000000000..37e672f61
--- /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 000000000..cb52f991c
--- /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 000000000..b7596554a
--- /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 000000000..76e700420
--- /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 000000000..cefaf2eb8
--- /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 000000000..ccc62db97
--- /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 000000000..7f7e8a6cb
--- /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 000000000..bfb2b1eac
--- /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 000000000..356441ec5
--- /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 000000000..b928f5324
--- /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 000000000..4c4517662
--- /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 000000000..69fb8351f
--- /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 000000000..485213ac4
--- /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 000000000..e7136cb81
--- /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 000000000..80116d271
--- /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 000000000..f4770744c
--- /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 000000000..e23569858
--- /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 000000000..7ae2e182d
--- /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 000000000..99e825b38
--- /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 000000000..7972f728f
--- /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 000000000..1931f3686
--- /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 000000000..493a3805b
--- /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 000000000..a426d0c02
--- /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 000000000..3437de49e
--- /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 000000000..14e442292
--- /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 000000000..a50d53845
--- /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 000000000..674b03428
--- /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 000000000..cbb62b1aa
--- /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 000000000..7346a1e4d
--- /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 000000000..25c1527e2
--- /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 000000000..66544d545
--- /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 000000000..c7c1bd00f
--- /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 000000000..6c7d502de
--- /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 000000000..264119a6f
--- /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 000000000..5c1786cfa
--- /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 000000000..917711f29
--- /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 000000000..1bac4500f
--- /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 000000000..199b560d3
--- /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 000000000..5fbb356af
--- /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 000000000..d8fd3db84
--- /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 000000000..90900cc35
--- /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 000000000..951940a0c
--- /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 000000000..708ab316d
--- /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 000000000..dfd24f1c5
--- /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 000000000..ac9239b27
--- /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 000000000..131178f02
--- /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 000000000..cd145ec46
--- /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 000000000..daec3fce3
--- /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 000000000..70c4b2b0a
--- /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 000000000..7c7d0bf2f
--- /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 000000000..f94340698
--- /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 000000000..15f53cd62
--- /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 000000000..f1431ad11
--- /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 000000000..d5d540f24
--- /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 000000000..ae81e6c77
--- /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 000000000..35218eac4
--- /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 000000000..ac4f5918e
--- /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 000000000..9ce68e562
--- /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 000000000..4f45d982c
--- /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 000000000..d451630a4
--- /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 000000000..a03bb78fe
--- /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 000000000..c13d67f4b
--- /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 000000000..22fd3fc4d
--- /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 000000000..d5b20dc0f
--- /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 000000000..91cac4add
--- /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 000000000..39eeb302c
--- /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 000000000..8b30cd0cd
--- /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 000000000..5debfbc6e
--- /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 000000000..99fe7683e
--- /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 000000000..eb006c574
--- /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 000000000..b377cd95f
--- /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 000000000..994872247
--- /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 000000000..79df515e6
--- /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 000000000..bed742c8d
--- /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 000000000..07cb2b4e8
--- /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 000000000..d8cf41937
--- /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 000000000..0747f2f0b
--- /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 000000000..d6de6ff02
--- /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 000000000..8b54a933b
--- /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 000000000..21af8b102
--- /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 000000000..a0a9aae75
--- /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 000000000..488209b40
--- /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 000000000..03f03b871
--- /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 000000000..b16ed56d7
--- /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 000000000..303622243
--- /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 000000000..6346aaa7e
--- /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 000000000..5876c3098
--- /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 000000000..0b77cc816
--- /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 000000000..856448462
--- /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 000000000..75a6412b3
--- /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 000000000..a3d8794d4
--- /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 000000000..dd8ddca6f
--- /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 000000000..3ba22ac73
--- /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 000000000..2b844d22a
--- /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 000000000..d9775c23e
--- /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 000000000..f4e7e50b6
--- /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 000000000..fc2f356ec
--- /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 000000000..795302b3b
--- /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");