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 0000000000000000000000000000000000000000..d50fe6190fbd25b09f8090ea2e37046b1961dca1
--- /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 0000000000000000000000000000000000000000..bf4464f1d77aad8d285943b1c7f5f49826d43918
--- /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 0000000000000000000000000000000000000000..beac1601bc77e0410b6441aef911e82d5689667b
--- /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 0000000000000000000000000000000000000000..6ef522c10b218b9f6ded4ca44ae2d897b2c8f065
--- /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 0000000000000000000000000000000000000000..3912493b0ef6db7a35f4f288c09b492f9e1fe8a4
--- /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 0000000000000000000000000000000000000000..7d072517c243fd25f5ab5d2d3094e2c1ee8d3a39
--- /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 0000000000000000000000000000000000000000..a909f7466233eed8bbdc3200a74def841116671f
--- /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 0000000000000000000000000000000000000000..722bd4282669272253d6978ab06c31d01d97427a
--- /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 0000000000000000000000000000000000000000..a36863ed0b6470cc471075f8ace9f5507f895a07
--- /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 0000000000000000000000000000000000000000..7869f819bcdc48b624f104a1574189b416bff40a
--- /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 0000000000000000000000000000000000000000..6facd522e4514107814b3a5ddab0ac85cd703531
--- /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 0000000000000000000000000000000000000000..296e9ffdf94084dd46267fe5b219e90597e4e943
--- /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 0000000000000000000000000000000000000000..db8087ab26437d6abad6d46ba46751a3b455750a
--- /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 0000000000000000000000000000000000000000..997d3091d8977886191a4bdc81f0a9c228ae13f0
--- /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 0000000000000000000000000000000000000000..a1be6222c3303d2b451d4817637d65d52fd31317
--- /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 0000000000000000000000000000000000000000..0f0700280fa4237f93e0cd8753d1371127913046
--- /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 0000000000000000000000000000000000000000..1315400d38068ba1411647ddd805ecb3564b944d
--- /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 0000000000000000000000000000000000000000..c6b1d031a8e722d725f8abce68237600e0184d95
--- /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 0000000000000000000000000000000000000000..d7b9905a9522b15bfb37006ee1cecfb3481e0e29
--- /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 0000000000000000000000000000000000000000..7dd3bf5e792763d354bdd38ba91cd20676040a33
--- /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 0000000000000000000000000000000000000000..581819b6f804d38a4e551b657a85cd91d81f4208
--- /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 0000000000000000000000000000000000000000..efb07edeec5166a2390ddff27e321d0d7e5f05ba
--- /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 0000000000000000000000000000000000000000..536c78c5e6efe5972c0ca9c22481f6749d83cb12
--- /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 0000000000000000000000000000000000000000..fe55fc4a39afa3b6417d0efd427fb2934f106c9a
--- /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 0000000000000000000000000000000000000000..f08bd1662876f6205ecfa77b01c3721bf8000640
--- /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 0000000000000000000000000000000000000000..2db379d2eb6f4fc3b0064b839e5fb5f6f2169457
--- /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 0000000000000000000000000000000000000000..942f322f623f72db8ef2a5ae126e54bc203efebf
--- /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 0000000000000000000000000000000000000000..dfef2e6c19b2298695bf751365d67bfdb94ba78f
--- /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 0000000000000000000000000000000000000000..02fc021255e310b5aee82f78a867b0d8e86cbc4f
--- /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 0000000000000000000000000000000000000000..7b9efa8597c7f740e6408fd431b827eebe714277
--- /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 0000000000000000000000000000000000000000..799242fbdf5e0964f72547bdf4fc1c9a0ac8b11b
--- /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 0000000000000000000000000000000000000000..2db73343269b0402b9955cc1499d52fbaebb7f31
--- /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 0000000000000000000000000000000000000000..c8c735064eb95e35abe7ef5b601f83652ac4b2c9
--- /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 0000000000000000000000000000000000000000..6d71e9f6c5fc3189efabb5f8bede28147f48ba5e
--- /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 0000000000000000000000000000000000000000..da9e6af88e0d70707df690ae5483e8ca03f3acb2
--- /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 0000000000000000000000000000000000000000..d6290c82bf0099f5e654b24a34bd44dc57a869e4
--- /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 0000000000000000000000000000000000000000..e349ab252e758a342f579b676b6b52b37883e28c
--- /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 0000000000000000000000000000000000000000..b0afb76fba4be4910672b7fff3470bc1d5d60e2b
--- /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 0000000000000000000000000000000000000000..5e2cb57f8c9c1861222fb8316c7e6ef6ba061fba
--- /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 0000000000000000000000000000000000000000..7d7301c4fdbb088ba35bf0485871cdeced915c0f
--- /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 0000000000000000000000000000000000000000..cf0e589a7698ea3ec87502c5f3e33619f8309041
--- /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 0000000000000000000000000000000000000000..b61bb435e9f3ac7d8a143a43c1ab83d14c38177e
--- /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 0000000000000000000000000000000000000000..e8651ec7f73860db2a5f9c4200d86a1faee8cb7d
--- /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 0000000000000000000000000000000000000000..1e1e408c047dd1c1fbedc6d2d545da324c9d924f
--- /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 0000000000000000000000000000000000000000..c1ca98b45539802cff6ad9f5181000bce83e1108
--- /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 0000000000000000000000000000000000000000..8fb9493a549f402347365a4b151ec21087c9418f
--- /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 0000000000000000000000000000000000000000..f092ec2b5b38b6af15f97f62ed723ab77b1c983b
--- /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 0000000000000000000000000000000000000000..754db7d7930e61917aa844b502cb93d43e414c3f
--- /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 0000000000000000000000000000000000000000..fd7f821218fd90b73842604cd95284878809f153
--- /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 0000000000000000000000000000000000000000..fc022c26da433817ca502b69e6237b37a8be2479
--- /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 0000000000000000000000000000000000000000..cce0cd844afca25ce385708f0a884423c6d211a9
--- /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 0000000000000000000000000000000000000000..269197af46da2cfaf520654649fbb62d45e0390f
--- /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 0000000000000000000000000000000000000000..832fd7359059f94b556892ace49a03ee12229520
--- /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 0000000000000000000000000000000000000000..6435989ebd527fed6ac2866ac87fb09d74762393
--- /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 0000000000000000000000000000000000000000..df566d6d3aa824138c981520f47addd50a89507e
--- /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 0000000000000000000000000000000000000000..ffacf4048cd51e8dac1c28bb9a554a3c4a3cb25b
--- /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 0000000000000000000000000000000000000000..7685da563ec689477d7e9c132e0a770c2dd2a5cc
--- /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 0000000000000000000000000000000000000000..44591dd4a217bec46205bba1ec01955128f4beed
--- /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 0000000000000000000000000000000000000000..5150739dfbd308d3bd61c18879213b797e1faab9
--- /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 0000000000000000000000000000000000000000..e62e1bf463e95d07996813e785bc1d475adc6dce
--- /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 0000000000000000000000000000000000000000..8120cd2117b828cb1af086d764494463c7df584e
--- /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 0000000000000000000000000000000000000000..e0c1eafec33ee210de82cb3781eaf9a997847076
--- /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 0000000000000000000000000000000000000000..541d8f1f17f0a512a745bace79d0f1567c63ba52
--- /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 0000000000000000000000000000000000000000..957241547be83880be9f7412a57425163cf38efb
--- /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 0000000000000000000000000000000000000000..ebbf330cfe64590470997d55661ca418c4ce2da8
--- /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 0000000000000000000000000000000000000000..dda373f1f01d8bcc3f1aa140d6fb1fb66ed1b4fa
--- /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 0000000000000000000000000000000000000000..6c868a7da73f7b633f77f2bcafbb8702c1f61cd5
--- /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 0000000000000000000000000000000000000000..8333822b1109df6aaa444c0aa793723587e47c7e
--- /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 0000000000000000000000000000000000000000..4f53387c1ba458ffaac36c2ac0713ddcc4ace5e3
--- /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 0000000000000000000000000000000000000000..65c007d08637e8e9c49052ae61b4037c8d5192b4
--- /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 0000000000000000000000000000000000000000..446c06b9d6595606118b6d18a23a42306db53907
--- /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 0000000000000000000000000000000000000000..4843a59d1fc3b590cbf83f00dfcaeab864c9f09d
--- /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 0000000000000000000000000000000000000000..edd034dfda839c7acd9e9fe950386468731e1ee3
--- /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 0000000000000000000000000000000000000000..9411a16df60ea9fff117326e7e67a9f928671ec9
--- /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 0000000000000000000000000000000000000000..d9d4008e3b94e770c3813abd7f5a2be831880ba7
--- /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 0000000000000000000000000000000000000000..31c23ad2da0b8b51be18b5ef84afdb1a89416ea8
--- /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 0000000000000000000000000000000000000000..dc5ce798eafee4eb00b31e58290a3d999e60dfce
--- /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 0000000000000000000000000000000000000000..044da6e25d505b550cb28014fb6bf38b9e75f328
--- /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 0000000000000000000000000000000000000000..48fa7f0c92a892557d5b31a3aa0abef8c094b9c3
--- /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 0000000000000000000000000000000000000000..5f4ee79c70391959917c13fe911ca210bfee0df1
--- /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 0000000000000000000000000000000000000000..a556b718c2c9a41bca03d5d1331b7cfd58ec67dc
--- /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 0000000000000000000000000000000000000000..66fa820c9bcef392e260318e92c33dfb588a83f9
--- /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 0000000000000000000000000000000000000000..a8d3a53cc98be854a08b16ebf8d0b78e86287054
--- /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 0000000000000000000000000000000000000000..ff94ba40ca447a99766f81eda053b3c21a753c8c
--- /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 0000000000000000000000000000000000000000..118d7b197211aa2b34210fc4754ad664d0f470b3
--- /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 0000000000000000000000000000000000000000..e3bd65423a561c1886e4f25886fec961b2ce7a3c
--- /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 0000000000000000000000000000000000000000..ff51f0de84ef923ffcf5bec7a2eadba2a1ae3546
--- /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 0000000000000000000000000000000000000000..aebf599679a5ab72273553d1e2a8c2b860c96479
--- /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 0000000000000000000000000000000000000000..260136df29f8fb0e66f9c61b2e5e9c2b4b8d6ccb
--- /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 0000000000000000000000000000000000000000..8d66e4dc57be8addb453559aff63c863a4d86e23
--- /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 0000000000000000000000000000000000000000..3d275444405954f361351de46aeb19a208d2c5fa
--- /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 0000000000000000000000000000000000000000..b1f415f87fb05f6d3ca3eed2e2e676cc1c49bc07
--- /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 0000000000000000000000000000000000000000..ba14aaeeec1d35903fd4a3f9b7064e405c54b805
--- /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 0000000000000000000000000000000000000000..4f287ade1d70d61a96281396a5b43a9f8fc0c1d1
--- /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 0000000000000000000000000000000000000000..f61a2dcfefb67feb287bf48c87231c41064e7bfd
--- /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 0000000000000000000000000000000000000000..dd06cd150b6b242d6315853b32dd0bae7d61b316
--- /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 0000000000000000000000000000000000000000..b3ada24de8e63b9f71282d17e641fb1220db97bf
--- /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 0000000000000000000000000000000000000000..be6694c4396e557f0ff50dfa8a2ff32a740a6c12
--- /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 0000000000000000000000000000000000000000..de5775833a3b5460f8f914cd9a72d72a274cecf0
--- /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 0000000000000000000000000000000000000000..ed616babd29bd376f1c0158d37d723a83c679a36
--- /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 0000000000000000000000000000000000000000..c7f78a255681a48a3f345b4ab9191592a302ae7c
--- /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 0000000000000000000000000000000000000000..6706e7347ba11b4fe03bad0d1467dc4105ae7c58
--- /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 0000000000000000000000000000000000000000..a23d7ccfe524f60cea58f649952735269787d7e9
--- /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 0000000000000000000000000000000000000000..0c663b07a862bb7ce0b994797573a88c1c7aded8
--- /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 0000000000000000000000000000000000000000..b03c83b5bfd6ad8be0d94e9f5f9b9dd9b7bd3034
--- /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 0000000000000000000000000000000000000000..24a05dd60ba1e2e648c75305241702ba107cf718
--- /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 0000000000000000000000000000000000000000..d6496762e791a0f89ace7ee762e0ac91ee227b45
--- /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 0000000000000000000000000000000000000000..cb3aa147bed3d28b893771304cf117ef8b2bdaf5
--- /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 0000000000000000000000000000000000000000..855179114dcbeb03dac4c3cda2bd00eb215fc745
--- /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 0000000000000000000000000000000000000000..63599ce2fea4fed6f0e6500b3c6d6539adedca2d
--- /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 0000000000000000000000000000000000000000..edc0c064a9c23b3affc2dc5bb03aafc945e22176
--- /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 0000000000000000000000000000000000000000..c5c766a4082e19faf4ea0e2f3e327be795613033
--- /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 0000000000000000000000000000000000000000..83dceb6deb6a1fcd84f9e3637fc77a5dc2ffaae9
--- /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 0000000000000000000000000000000000000000..afc1d8777bcd566d406ab3d5b4337c166185f5f2
--- /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 0000000000000000000000000000000000000000..2a8f596c20c47e58c58bef9b0286a489f07fd839
--- /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 0000000000000000000000000000000000000000..b9c8ffbb6efa9eb642cdbd118131ed9307137178
--- /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 0000000000000000000000000000000000000000..61a6a78d31aa123bb002b375c0b9950f6b21bb84
--- /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 0000000000000000000000000000000000000000..354bb50238c0d3f7e9ed1b13980084ea13bf383c
--- /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 0000000000000000000000000000000000000000..0906316c046f1bec3155c3b57e88ce786236ab7c
--- /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 0000000000000000000000000000000000000000..4b4cc6c298a5b77af07007a414b36585a35b6fe3
--- /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 0000000000000000000000000000000000000000..8660b391ad1a4bf55025295ec66535d873d948c6
--- /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 0000000000000000000000000000000000000000..a71fec48e0d8b9cd00fac75b0a61e0689e19009c
--- /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 0000000000000000000000000000000000000000..fd7e72aa527973ea520c4ab0d0a36606601c1c94
--- /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 0000000000000000000000000000000000000000..79f1df8c19a7d0147d986e0b7c25777809dc1380
--- /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 0000000000000000000000000000000000000000..ecd05a4581802c74d94ae71596e42787f8cde6dc
--- /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 0000000000000000000000000000000000000000..f005b26d21eababf71fdb4a699e899e939c22d64
--- /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 0000000000000000000000000000000000000000..860527209e13130cec5b6abcf034aea38de58e23
--- /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 0000000000000000000000000000000000000000..907632faba54d214fe04052e043672a060141c11
--- /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 0000000000000000000000000000000000000000..156755e3644b1bf7ac63e2dd48f089c3551f441f
--- /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 0000000000000000000000000000000000000000..782a0ba9d70cb029dec93ae00499bc15c27acb78
--- /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 0000000000000000000000000000000000000000..b7a7dde7ddb71f9e4c54373418364e77a7314182
--- /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 0000000000000000000000000000000000000000..9cc5cd961459047e8113addd7f12a766ffa0c2a3
--- /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 0000000000000000000000000000000000000000..c5cd3a4d5c707368ecb936353ac16f714c089398
--- /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 0000000000000000000000000000000000000000..b46ffcf132890cbdbb77b48c227c2624c98a1dec
--- /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 0000000000000000000000000000000000000000..9a32db7200099a2e2038e92b54a388042883df34
--- /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 0000000000000000000000000000000000000000..4f6af5da8ffbfe664e1f1757f68442be70cc4e9e
--- /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 0000000000000000000000000000000000000000..b1157190862f735490a676290bc6daffe36b4a70
--- /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 0000000000000000000000000000000000000000..4d5ff0d2947bffea9aab5938a986a49e6f3e232c
--- /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 0000000000000000000000000000000000000000..e9c9bfc6f6a2a9201f09df12df22eeeb30b9ba30
--- /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 0000000000000000000000000000000000000000..15a384988cd12937e9c97fcceafdab00c0482187
--- /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 0000000000000000000000000000000000000000..83e6648515d18527b6213b08b635c906ad90c16e
--- /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 0000000000000000000000000000000000000000..59ab3355e4522b5a7d7d2cee6bec105dee2802b1
--- /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 0000000000000000000000000000000000000000..3adfffcb91df99dee94c461c552a97f779a107e9
--- /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 0000000000000000000000000000000000000000..e7d281ce63c2e7038eec8082f338d16229d4c406
--- /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 0000000000000000000000000000000000000000..c0c77c9dcce663e448065d097433daa024c9df85
--- /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 0000000000000000000000000000000000000000..efd211725833212111635cd185cb73b0f4bb7da0
--- /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 0000000000000000000000000000000000000000..950cafe19b4774f1b0e02bc8f578d7f74f031ed2
--- /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 0000000000000000000000000000000000000000..0b1151944ac2b69fb5d31c55109eb0a5b2ae597a
--- /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 0000000000000000000000000000000000000000..7e99ef9046281053177afde25f69dca2b0752f83
--- /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 0000000000000000000000000000000000000000..e7e5f69c3e054e5b41624edacdac3baa1c57bad5
--- /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 0000000000000000000000000000000000000000..916482e9f995b076ad0b8f7d35d3e18d1fef52cf
--- /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 0000000000000000000000000000000000000000..9dcbb2f2ba377d03ec7aabad37ef981d3c3df2f9
--- /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 0000000000000000000000000000000000000000..bcbd7221148e66bed97eca9057865ac9c5518adb
--- /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 0000000000000000000000000000000000000000..6caabb859daef2c69f63e0479ce60ef805ae6216
--- /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 0000000000000000000000000000000000000000..03521eccaa335ec108aa9367b8c379ef13506b76
--- /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 0000000000000000000000000000000000000000..a5634c8a28c65dbf898dc3e88a10aa9f69902720
--- /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 0000000000000000000000000000000000000000..0b9631da1b9bd6b5b5b965d8dd5752904086765b
--- /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 0000000000000000000000000000000000000000..483abce16aeaaa8f8bb1e3db3126e486513c91f6
--- /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 0000000000000000000000000000000000000000..bf28cd19aa2b910f93501bcc329bbbf06bd45984
--- /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 0000000000000000000000000000000000000000..34e55b50154c552be13169b4324d725bba6081cb
--- /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 0000000000000000000000000000000000000000..cf6c423bdf61722f241a57948a17c1a7cb16f50c
--- /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 0000000000000000000000000000000000000000..ecc44d548c5be45716af2fd4f065ee9e1783de72
--- /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 0000000000000000000000000000000000000000..bd46dbaaf1060c14a58a73d5dcba4d08dbc1eb6d
--- /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 0000000000000000000000000000000000000000..11c345823916160bf278703715588f885158dad1
--- /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 0000000000000000000000000000000000000000..7f5048b9e5a7088ec35b61d52e163b4cf0c258eb
--- /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 0000000000000000000000000000000000000000..4b319a067488e141028ac0c0db127f89ed5df7ae
--- /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 0000000000000000000000000000000000000000..e641093676d421865007aec2b8c135963e373f73
--- /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 0000000000000000000000000000000000000000..65e0cb2a90e35903695521b8f080bb3bd5a8b42e
--- /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 0000000000000000000000000000000000000000..7c893b6240dc93bca96d210819dbe6e6ea3615af
--- /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 0000000000000000000000000000000000000000..1657ad9094782d02a692a10e66aa781ba0a57b05
--- /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 0000000000000000000000000000000000000000..e89981dafb53d91f04f5ce0e2ac997c587d3d3eb
--- /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 0000000000000000000000000000000000000000..c47025da553d62466857a73d6ec7a99217423987
--- /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 0000000000000000000000000000000000000000..071f6820f199d41046e30e03da5d205252df3609
--- /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 0000000000000000000000000000000000000000..4c71bfe8d761cace6a4905365a4c8016bf7cb146
--- /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 0000000000000000000000000000000000000000..89cbe60204c8dcedb6b69dfead79de6460c42f5a
--- /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 0000000000000000000000000000000000000000..55d6e5e8ebd2f9d7e69eb5d605bac841c8292c79
--- /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 0000000000000000000000000000000000000000..dec5bcf6615883a7396c3efdde3975c3b0dc2f43
--- /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 0000000000000000000000000000000000000000..2ff1a269c57e3724283c355f66e3857a978db9db
--- /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 0000000000000000000000000000000000000000..3ca90f5d8c9a86c59bf5c3aecdb1b1353a171f95
--- /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 0000000000000000000000000000000000000000..425c39c0ca8a15e66670a050d8f073f23ea89e4e
--- /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 0000000000000000000000000000000000000000..ebfc53fa82ff1375c193b76281b24d9ccb202858
--- /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 0000000000000000000000000000000000000000..bef908adc8770d7213ba844c37be4bceacf80c00
--- /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 0000000000000000000000000000000000000000..37e672f613c19acd8b67e005c297cc9ac618b7e5
--- /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 0000000000000000000000000000000000000000..cb52f991c50bff1ff2b86abcb54d83ad11f07d79
--- /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 0000000000000000000000000000000000000000..b7596554ac108301064019996cb49d8898a8dd18
--- /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 0000000000000000000000000000000000000000..76e700420ffaa139742ec785ca4033bfaf156b25
--- /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 0000000000000000000000000000000000000000..cefaf2eb845106a1e7cb55a58fce89d5332c25aa
--- /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 0000000000000000000000000000000000000000..ccc62db977da582400d498d7606dab9f504d4c73
--- /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 0000000000000000000000000000000000000000..7f7e8a6cbde071a0a3f0c9b50ca52a6ee1618587
--- /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 0000000000000000000000000000000000000000..bfb2b1eace79447a256dcb4ac920b0ed130fbcee
--- /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 0000000000000000000000000000000000000000..356441ec568244120ada6843938ffbebdb32e969
--- /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 0000000000000000000000000000000000000000..b928f53247c86d6bdb0c5e4353f0d8d9e554b42e
--- /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 0000000000000000000000000000000000000000..4c451766287b371884bca95a81ab582b6e346bde
--- /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 0000000000000000000000000000000000000000..69fb8351f1d2d37eb28e6422479e579720f0189e
--- /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 0000000000000000000000000000000000000000..485213ac43b1cdf2e1a1e5c066eabdd8a0db0649
--- /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 0000000000000000000000000000000000000000..e7136cb812845454be701bad0b03db83ebfa2bdd
--- /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 0000000000000000000000000000000000000000..80116d27111119aacab1bb947ac4468c5ea755c4
--- /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 0000000000000000000000000000000000000000..f4770744ca0515abf346d5e29d5b9b606bec6fbe
--- /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 0000000000000000000000000000000000000000..e2356985811f2815c53b964811aa58c4a5a753bf
--- /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 0000000000000000000000000000000000000000..7ae2e182dacca629882611c9ca6cda02455fc90d
--- /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 0000000000000000000000000000000000000000..99e825b38d895b916cee98738b583ebe12bcd5e9
--- /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 0000000000000000000000000000000000000000..7972f728fa5641d162a9503390dbec1b1cae1aba
--- /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 0000000000000000000000000000000000000000..1931f3686f5b88aeef54fdc4a5b5f820de6a8438
--- /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 0000000000000000000000000000000000000000..493a3805b1bc447efce45a0fddc91fb5bc6f176e
--- /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 0000000000000000000000000000000000000000..a426d0c0287de51a5d3ca584ce8d703adb933c35
--- /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 0000000000000000000000000000000000000000..3437de49e4097e3d260ec0e808c6148a1326886e
--- /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 0000000000000000000000000000000000000000..14e442292694c839e4eea0e6d8296fa02f3718bd
--- /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 0000000000000000000000000000000000000000..a50d538455cffe128fe359c83ad77bc232d1c3cc
--- /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 0000000000000000000000000000000000000000..674b03428c01e29c47eb8f9c9420c4b14b867c48
--- /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 0000000000000000000000000000000000000000..cbb62b1aa7f2b18c12201392574758189a61a777
--- /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 0000000000000000000000000000000000000000..7346a1e4d735f45318530148c20f473d824364ec
--- /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 0000000000000000000000000000000000000000..25c1527e21a637fccb6a4153b19b838aff4beffa
--- /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 0000000000000000000000000000000000000000..66544d545b82ad35024e2ee1ea14bf3e8ad04e5d
--- /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 0000000000000000000000000000000000000000..c7c1bd00fc16852d1d5e5425775a52b4b0d952b2
--- /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 0000000000000000000000000000000000000000..6c7d502de7359ef6bc424ef2ec798dd345135a42
--- /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 0000000000000000000000000000000000000000..264119a6f727a7546baafbb47e52811336a69af3
--- /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 0000000000000000000000000000000000000000..5c1786cfacda3b5a399af5d04dd3d0d287170ae1
--- /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 0000000000000000000000000000000000000000..917711f294b4e0321cf272078dd4c4c97e41e40d
--- /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 0000000000000000000000000000000000000000..1bac4500f07ef5ef8d3a980d745bc2f261ba0c8a
--- /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 0000000000000000000000000000000000000000..199b560d377d68b218dcd78ca64a53b4f8b9c09a
--- /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 0000000000000000000000000000000000000000..5fbb356afbb3c42d70dfc1cb25c3951d69fd2500
--- /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 0000000000000000000000000000000000000000..d8fd3db8430dbeb275326721f60dea2f3a83cd6c
--- /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 0000000000000000000000000000000000000000..90900cc35e04b75a1145c0abe48cb8495c076cf2
--- /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 0000000000000000000000000000000000000000..951940a0c96106e84aae6d549de567ac436931d2
--- /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 0000000000000000000000000000000000000000..708ab316dcb44b98ca7835dc5a879db5cd8cc490
--- /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 0000000000000000000000000000000000000000..dfd24f1c5b5980a9181bdf74e3dc31ece1c7ae4d
--- /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 0000000000000000000000000000000000000000..ac9239b2712ebc5ff2f92899fb72d19c25363910
--- /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 0000000000000000000000000000000000000000..131178f027e1a0aa7cd413c2d46ea52cc16c6578
--- /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 0000000000000000000000000000000000000000..cd145ec46c0b79e64c3d86d67962df0ca48a538f
--- /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 0000000000000000000000000000000000000000..daec3fce373f2188f19a3bd82f039183294e5d80
--- /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 0000000000000000000000000000000000000000..70c4b2b0a6dbf356172674068fdf0f6b5f34dfdf
--- /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 0000000000000000000000000000000000000000..7c7d0bf2f844c6520be1a445f95ef4accc2b2495
--- /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 0000000000000000000000000000000000000000..f943406986796cfd928b857377a7f7bfa18c2f69
--- /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 0000000000000000000000000000000000000000..15f53cd62bd1efa3bbe028e93f80fb2aec90187f
--- /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 0000000000000000000000000000000000000000..f1431ad1122c5eb20edad2b471a03b97ca31d43e
--- /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 0000000000000000000000000000000000000000..d5d540f247c8da04d08bff694155bfc16c3b08e8
--- /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 0000000000000000000000000000000000000000..ae81e6c770eb16379f79a8c19e9c7651d35d7eed
--- /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 0000000000000000000000000000000000000000..35218eac4689915ae506fcfcf1c8213a0171dc56
--- /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 0000000000000000000000000000000000000000..ac4f5918efe488fa68ce1fc0de2d4b09366fcafe
--- /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 0000000000000000000000000000000000000000..9ce68e5628b0531238683b4e2715a7acd124329a
--- /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 0000000000000000000000000000000000000000..4f45d982c6b3c8773669be4f07836c39452140cc
--- /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 0000000000000000000000000000000000000000..d451630a4d2fa1a3970c1904b7ee089654cdd238
--- /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 0000000000000000000000000000000000000000..a03bb78fe6179ab64ba9c96f8d2d960415d8ab35
--- /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 0000000000000000000000000000000000000000..c13d67f4b60f0198f20dd8a797c9a6d8b319af8e
--- /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 0000000000000000000000000000000000000000..22fd3fc4df1c4f4d7a92c36f291d18f26fcf7c38
--- /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 0000000000000000000000000000000000000000..d5b20dc0f27ee2418f759704c48da54bb63af6d4
--- /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 0000000000000000000000000000000000000000..91cac4add7322fdbc6441dd0f0512747023ff908
--- /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 0000000000000000000000000000000000000000..39eeb302c53e6ba04d924094b2c122905a9d609b
--- /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 0000000000000000000000000000000000000000..8b30cd0cd987b0b0635022e3e42901469c9df6bb
--- /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 0000000000000000000000000000000000000000..5debfbc6e81ded19397b04b8f08712da50c382b9
--- /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 0000000000000000000000000000000000000000..99fe7683ed82ec9e28d2a46bb8bb855b95a8a446
--- /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 0000000000000000000000000000000000000000..eb006c574cfdb84854311e3118a5a83b6a6e8d15
--- /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 0000000000000000000000000000000000000000..b377cd95fcee8b979770bddd47168ba5860f6345
--- /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 0000000000000000000000000000000000000000..99487224728ffead10bae92963ab7638b3e36b84
--- /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 0000000000000000000000000000000000000000..79df515e6ff6602bb38d9b8876fac664a97af0c8
--- /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 0000000000000000000000000000000000000000..bed742c8d0c563c350a6fe60ffefad87f2e7c5f0
--- /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 0000000000000000000000000000000000000000..07cb2b4e8bc55097d3119cea0e6dd00b40e1d776
--- /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 0000000000000000000000000000000000000000..d8cf41937888c463b57a2c34445c0a884c5d8621
--- /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 0000000000000000000000000000000000000000..0747f2f0b0f397a654d33cf3730a0b967b8f6b14
--- /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 0000000000000000000000000000000000000000..d6de6ff023e288f5e02122daf22c7ca12ef2cab0
--- /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 0000000000000000000000000000000000000000..8b54a933bee57eb7586e31643d1f87acd4d08eda
--- /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 0000000000000000000000000000000000000000..21af8b102e6eeab2a567b27fd9e365ae1f425e8a
--- /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 0000000000000000000000000000000000000000..a0a9aae758d08426aa62d09dc91c79486dcd7d0b
--- /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 0000000000000000000000000000000000000000..488209b40b74a9d90a97effafeb5abdc2737754b
--- /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 0000000000000000000000000000000000000000..03f03b871c5d7a9d5a1d72efde703e940473f7a6
--- /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 0000000000000000000000000000000000000000..b16ed56d7474d4efb024f61d02466f21157f10ee
--- /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 0000000000000000000000000000000000000000..303622243faaaae135bb91c6dcb3980a7a86ad66
--- /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 0000000000000000000000000000000000000000..6346aaa7eef5d887ef53d34d250d52865a24d72e
--- /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 0000000000000000000000000000000000000000..5876c30982b0d24142ae5f7942c2fd88241c45e0
--- /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 0000000000000000000000000000000000000000..0b77cc8169836b4306bf85e871ec474eb39eecae
--- /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 0000000000000000000000000000000000000000..856448462e6d587764ada32ba00e1bd2a2d35dc1
--- /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 0000000000000000000000000000000000000000..75a6412b3384d437cb0f57e180ec41221598b90c
--- /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 0000000000000000000000000000000000000000..a3d8794d442c59df8457b13b424a435379aed88a
--- /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 0000000000000000000000000000000000000000..dd8ddca6fae1ab0b7470f6a252a5fd936e7a1c53
--- /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 0000000000000000000000000000000000000000..3ba22ac73eac4af334bb4e759d3c01b468b8cf92
--- /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 0000000000000000000000000000000000000000..2b844d22a69a284a70f7df1425b6a4c1b41e71cd
--- /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 0000000000000000000000000000000000000000..d9775c23e419645d42bf0a8771f65bbaed426d24
--- /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 0000000000000000000000000000000000000000..f4e7e50b6d7139b03a3130714f06e02389b4b7eb
--- /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 0000000000000000000000000000000000000000..fc2f356ec2a616faad0817244904e54afcde2d75
--- /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 0000000000000000000000000000000000000000..795302b3bf6b85e268441002db3d08b7696e0df4
--- /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");