diff --git a/test/annexB/Date/prototype/getYear/length.js b/test/annexB/Date/prototype/getYear/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..6b228a133901c12273aa5711c500810914ec3e1c
--- /dev/null
+++ b/test/annexB/Date/prototype/getYear/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: B.2.4.1
+description: >
+  Date.prototype.getYear.length is 0.
+info: >
+  Date.prototype.getYear ( )
+
+  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(Date.prototype.getYear.length, 0);
+
+verifyNotEnumerable(Date.prototype.getYear, "length");
+verifyNotWritable(Date.prototype.getYear, "length");
+verifyConfigurable(Date.prototype.getYear, "length");
diff --git a/test/annexB/Date/prototype/getYear/name.js b/test/annexB/Date/prototype/getYear/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..c5aa6317f5885c718537441a6fbb71fe8e912170
--- /dev/null
+++ b/test/annexB/Date/prototype/getYear/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.4.1
+description: >
+  Date.prototype.getYear.name is "getYear".
+info: >
+  Date.prototype.getYear ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.getYear.name, "getYear");
+
+verifyNotEnumerable(Date.prototype.getYear, "name");
+verifyNotWritable(Date.prototype.getYear, "name");
+verifyConfigurable(Date.prototype.getYear, "name");
diff --git a/test/annexB/Date/prototype/setYear/length.js b/test/annexB/Date/prototype/setYear/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..11d40add2bc80553424167c6f81738f1d25c5e32
--- /dev/null
+++ b/test/annexB/Date/prototype/setYear/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: B.2.4.2
+description: >
+  Date.prototype.setYear.length is 1.
+info: >
+  Date.prototype.setYear ( )
+
+  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(Date.prototype.setYear.length, 1);
+
+verifyNotEnumerable(Date.prototype.setYear, "length");
+verifyNotWritable(Date.prototype.setYear, "length");
+verifyConfigurable(Date.prototype.setYear, "length");
diff --git a/test/annexB/Date/prototype/setYear/name.js b/test/annexB/Date/prototype/setYear/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..e92b1fa44e3c1ed783a2038a48e0212b91a48a88
--- /dev/null
+++ b/test/annexB/Date/prototype/setYear/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.4.2
+description: >
+  Date.prototype.setYear.name is "setYear".
+info: >
+  Date.prototype.setYear ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.setYear.name, "setYear");
+
+verifyNotEnumerable(Date.prototype.setYear, "name");
+verifyNotWritable(Date.prototype.setYear, "name");
+verifyConfigurable(Date.prototype.setYear, "name");
diff --git a/test/annexB/Date/prototype/toGMTString/length.js b/test/annexB/Date/prototype/toGMTString/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..216dd9e718c920c0557d80dddd45447ea4a7a563
--- /dev/null
+++ b/test/annexB/Date/prototype/toGMTString/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: B.2.4.3
+description: >
+  Date.prototype.toGMTString.length is 0.
+info: >
+  Date.prototype.toGMTString ( )
+
+  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(Date.prototype.toGMTString.length, 0);
+
+verifyNotEnumerable(Date.prototype.toGMTString, "length");
+verifyNotWritable(Date.prototype.toGMTString, "length");
+verifyConfigurable(Date.prototype.toGMTString, "length");
diff --git a/test/annexB/Date/prototype/toGMTString/name.js b/test/annexB/Date/prototype/toGMTString/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..56f10aa86c11e9d9b872c46c74fcf0639c32e88d
--- /dev/null
+++ b/test/annexB/Date/prototype/toGMTString/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.4.3
+description: >
+  Date.prototype.toGMTString.name is "toUTCString".
+info: >
+  Date.prototype.toGMTString ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.toGMTString.name, "toUTCString");
+
+verifyNotEnumerable(Date.prototype.toGMTString, "name");
+verifyNotWritable(Date.prototype.toGMTString, "name");
+verifyConfigurable(Date.prototype.toGMTString, "name");
diff --git a/test/annexB/RegExp/prototype/compile/length.js b/test/annexB/RegExp/prototype/compile/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..860cf91ca5af82332247c6fd0fcb59492c28b36b
--- /dev/null
+++ b/test/annexB/RegExp/prototype/compile/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: B.2.5.1
+description: >
+  RegExp.prototype.compile.length is 2.
+info: >
+  RegExp.prototype.compile (pattern, 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]
+---*/
+
+assert.sameValue(RegExp.prototype.compile.length, 2);
+
+verifyNotEnumerable(RegExp.prototype.compile, "length");
+verifyNotWritable(RegExp.prototype.compile, "length");
+verifyConfigurable(RegExp.prototype.compile, "length");
diff --git a/test/annexB/RegExp/prototype/compile/name.js b/test/annexB/RegExp/prototype/compile/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..1e6d0740f2b4c784cd371c4a06223678b64997da
--- /dev/null
+++ b/test/annexB/RegExp/prototype/compile/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.5.1
+description: >
+  RegExp.prototype.compile.name is "compile".
+info: >
+  RegExp.prototype.compile (pattern, flags )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.compile.name, "compile");
+
+verifyNotEnumerable(RegExp.prototype.compile, "name");
+verifyNotWritable(RegExp.prototype.compile, "name");
+verifyConfigurable(RegExp.prototype.compile, "name");
diff --git a/test/annexB/String/prototype/anchor/length.js b/test/annexB/String/prototype/anchor/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..0dd0abaada5a8fc048fc187a1beada0e435c02a8
--- /dev/null
+++ b/test/annexB/String/prototype/anchor/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: B.2.3.2
+description: >
+  String.prototype.anchor.length is 1.
+info: >
+  String.prototype.anchor ( name )
+
+  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.anchor.length, 1);
+
+verifyNotEnumerable(String.prototype.anchor, "length");
+verifyNotWritable(String.prototype.anchor, "length");
+verifyConfigurable(String.prototype.anchor, "length");
diff --git a/test/annexB/String/prototype/anchor/name.js b/test/annexB/String/prototype/anchor/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..1a92bf4e100414ba90912c41eb81e594ddd8e2ca
--- /dev/null
+++ b/test/annexB/String/prototype/anchor/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.2
+description: >
+  String.prototype.anchor.name is "anchor".
+info: >
+  String.prototype.anchor ( name )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.anchor.name, "anchor");
+
+verifyNotEnumerable(String.prototype.anchor, "name");
+verifyNotWritable(String.prototype.anchor, "name");
+verifyConfigurable(String.prototype.anchor, "name");
diff --git a/test/annexB/String/prototype/big/length.js b/test/annexB/String/prototype/big/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..c04e5548dc8cf5c1ab31ea0351601304902cf13e
--- /dev/null
+++ b/test/annexB/String/prototype/big/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: B.2.3.3
+description: >
+  String.prototype.big.length is 0.
+info: >
+  String.prototype.big ( )
+
+  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.big.length, 0);
+
+verifyNotEnumerable(String.prototype.big, "length");
+verifyNotWritable(String.prototype.big, "length");
+verifyConfigurable(String.prototype.big, "length");
diff --git a/test/annexB/String/prototype/big/name.js b/test/annexB/String/prototype/big/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..271fc258c5a4fc5ae8e366c9215bb6b205731a8f
--- /dev/null
+++ b/test/annexB/String/prototype/big/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.3
+description: >
+  String.prototype.big.name is "big".
+info: >
+  String.prototype.big ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.big.name, "big");
+
+verifyNotEnumerable(String.prototype.big, "name");
+verifyNotWritable(String.prototype.big, "name");
+verifyConfigurable(String.prototype.big, "name");
diff --git a/test/annexB/String/prototype/blink/length.js b/test/annexB/String/prototype/blink/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..b29fcd12ad8d87c44ed42f0e9f67003b794e2b3c
--- /dev/null
+++ b/test/annexB/String/prototype/blink/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: B.2.3.4
+description: >
+  String.prototype.blink.length is 0.
+info: >
+  String.prototype.blink ( )
+
+  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.blink.length, 0);
+
+verifyNotEnumerable(String.prototype.blink, "length");
+verifyNotWritable(String.prototype.blink, "length");
+verifyConfigurable(String.prototype.blink, "length");
diff --git a/test/annexB/String/prototype/blink/name.js b/test/annexB/String/prototype/blink/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..393782a12b602a6d636d1b20ce3424fe4825fdcd
--- /dev/null
+++ b/test/annexB/String/prototype/blink/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.4
+description: >
+  String.prototype.blink.name is "blink".
+info: >
+  String.prototype.blink ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.blink.name, "blink");
+
+verifyNotEnumerable(String.prototype.blink, "name");
+verifyNotWritable(String.prototype.blink, "name");
+verifyConfigurable(String.prototype.blink, "name");
diff --git a/test/annexB/String/prototype/bold/length.js b/test/annexB/String/prototype/bold/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..1b57ad5a1703aad36d08c701f184f0faa8296594
--- /dev/null
+++ b/test/annexB/String/prototype/bold/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: B.2.3.5
+description: >
+  String.prototype.bold.length is 0.
+info: >
+  String.prototype.bold ( )
+
+  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.bold.length, 0);
+
+verifyNotEnumerable(String.prototype.bold, "length");
+verifyNotWritable(String.prototype.bold, "length");
+verifyConfigurable(String.prototype.bold, "length");
diff --git a/test/annexB/String/prototype/bold/name.js b/test/annexB/String/prototype/bold/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..ba4398e7cada0c8c1c235ea9994815542b95feb6
--- /dev/null
+++ b/test/annexB/String/prototype/bold/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.5
+description: >
+  String.prototype.bold.name is "bold".
+info: >
+  String.prototype.bold ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.bold.name, "bold");
+
+verifyNotEnumerable(String.prototype.bold, "name");
+verifyNotWritable(String.prototype.bold, "name");
+verifyConfigurable(String.prototype.bold, "name");
diff --git a/test/annexB/String/prototype/fixed/length.js b/test/annexB/String/prototype/fixed/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..0bb3b460b98f73eae7ee5cc30172084e3ed4bd94
--- /dev/null
+++ b/test/annexB/String/prototype/fixed/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: B.2.3.6
+description: >
+  String.prototype.fixed.length is 0.
+info: >
+  String.prototype.fixed ( )
+
+  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.fixed.length, 0);
+
+verifyNotEnumerable(String.prototype.fixed, "length");
+verifyNotWritable(String.prototype.fixed, "length");
+verifyConfigurable(String.prototype.fixed, "length");
diff --git a/test/annexB/String/prototype/fixed/name.js b/test/annexB/String/prototype/fixed/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..0e13006ac04c3fcb884f48fa364b81efb9d5cb6d
--- /dev/null
+++ b/test/annexB/String/prototype/fixed/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.6
+description: >
+  String.prototype.fixed.name is "fixed".
+info: >
+  String.prototype.fixed ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.fixed.name, "fixed");
+
+verifyNotEnumerable(String.prototype.fixed, "name");
+verifyNotWritable(String.prototype.fixed, "name");
+verifyConfigurable(String.prototype.fixed, "name");
diff --git a/test/annexB/String/prototype/fontcolor/length.js b/test/annexB/String/prototype/fontcolor/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..702400bb32e2fb074519f0fdf4865fe0555376ef
--- /dev/null
+++ b/test/annexB/String/prototype/fontcolor/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: B.2.3.7
+description: >
+  String.prototype.fontcolor.length is 1.
+info: >
+  String.prototype.fontcolor ( color )
+
+  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.fontcolor.length, 1);
+
+verifyNotEnumerable(String.prototype.fontcolor, "length");
+verifyNotWritable(String.prototype.fontcolor, "length");
+verifyConfigurable(String.prototype.fontcolor, "length");
diff --git a/test/annexB/String/prototype/fontcolor/name.js b/test/annexB/String/prototype/fontcolor/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..7a717ef63ac5c8225f203dd68d6034dfc1f69ab0
--- /dev/null
+++ b/test/annexB/String/prototype/fontcolor/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.7
+description: >
+  String.prototype.fontcolor.name is "fontcolor".
+info: >
+  String.prototype.fontcolor ( color )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.fontcolor.name, "fontcolor");
+
+verifyNotEnumerable(String.prototype.fontcolor, "name");
+verifyNotWritable(String.prototype.fontcolor, "name");
+verifyConfigurable(String.prototype.fontcolor, "name");
diff --git a/test/annexB/String/prototype/fontsize/length.js b/test/annexB/String/prototype/fontsize/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..33bae20f91c7201c1f82f1db81574a576c8aa713
--- /dev/null
+++ b/test/annexB/String/prototype/fontsize/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: B.2.3.8
+description: >
+  String.prototype.fontsize.length is 1.
+info: >
+  String.prototype.fontsize ( size )
+
+  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.fontsize.length, 1);
+
+verifyNotEnumerable(String.prototype.fontsize, "length");
+verifyNotWritable(String.prototype.fontsize, "length");
+verifyConfigurable(String.prototype.fontsize, "length");
diff --git a/test/annexB/String/prototype/fontsize/name.js b/test/annexB/String/prototype/fontsize/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..c45e27f724d82d5dbe276ee95ca03d4028f59f56
--- /dev/null
+++ b/test/annexB/String/prototype/fontsize/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.8
+description: >
+  String.prototype.fontsize.name is "fontsize".
+info: >
+  String.prototype.fontsize ( color )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.fontsize.name, "fontsize");
+
+verifyNotEnumerable(String.prototype.fontsize, "name");
+verifyNotWritable(String.prototype.fontsize, "name");
+verifyConfigurable(String.prototype.fontsize, "name");
diff --git a/test/annexB/String/prototype/italics/length.js b/test/annexB/String/prototype/italics/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..86121c1afa76639942c51063f71c3a8efa9dbd97
--- /dev/null
+++ b/test/annexB/String/prototype/italics/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: B.2.3.9
+description: >
+  String.prototype.italics.length is 0.
+info: >
+  String.prototype.italics ( )
+
+  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.italics.length, 0);
+
+verifyNotEnumerable(String.prototype.italics, "length");
+verifyNotWritable(String.prototype.italics, "length");
+verifyConfigurable(String.prototype.italics, "length");
diff --git a/test/annexB/String/prototype/italics/name.js b/test/annexB/String/prototype/italics/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..071b175c64056c1eefe58562f18c9dd19bb090fc
--- /dev/null
+++ b/test/annexB/String/prototype/italics/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.9
+description: >
+  String.prototype.italics.name is "italics".
+info: >
+  String.prototype.italics ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.italics.name, "italics");
+
+verifyNotEnumerable(String.prototype.italics, "name");
+verifyNotWritable(String.prototype.italics, "name");
+verifyConfigurable(String.prototype.italics, "name");
diff --git a/test/annexB/String/prototype/link/length.js b/test/annexB/String/prototype/link/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..fbbe27cd52bf6c84e70ddc15182362ae1cab4cd3
--- /dev/null
+++ b/test/annexB/String/prototype/link/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: B.2.3.10
+description: >
+  String.prototype.link.length is 1.
+info: >
+  String.prototype.link ( url )
+
+  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.link.length, 1);
+
+verifyNotEnumerable(String.prototype.link, "length");
+verifyNotWritable(String.prototype.link, "length");
+verifyConfigurable(String.prototype.link, "length");
diff --git a/test/annexB/String/prototype/link/name.js b/test/annexB/String/prototype/link/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..e9b2dc34010687e2870927e151dce7b8351dc012
--- /dev/null
+++ b/test/annexB/String/prototype/link/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.10
+description: >
+  String.prototype.link.name is "link".
+info: >
+  String.prototype.link ( url )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.link.name, "link");
+
+verifyNotEnumerable(String.prototype.link, "name");
+verifyNotWritable(String.prototype.link, "name");
+verifyConfigurable(String.prototype.link, "name");
diff --git a/test/annexB/String/prototype/small/length.js b/test/annexB/String/prototype/small/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..f5e32ce4874c31564d33a54e25fc7630e94d2ba7
--- /dev/null
+++ b/test/annexB/String/prototype/small/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: B.2.3.11
+description: >
+  String.prototype.small.length is 0.
+info: >
+  String.prototype.small ( )
+
+  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.small.length, 0);
+
+verifyNotEnumerable(String.prototype.small, "length");
+verifyNotWritable(String.prototype.small, "length");
+verifyConfigurable(String.prototype.small, "length");
diff --git a/test/annexB/String/prototype/small/name.js b/test/annexB/String/prototype/small/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..07278ac1222338e204cbbbc742a283305e55bff9
--- /dev/null
+++ b/test/annexB/String/prototype/small/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.11
+description: >
+  String.prototype.small.name is "small".
+info: >
+  String.prototype.small ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.small.name, "small");
+
+verifyNotEnumerable(String.prototype.small, "name");
+verifyNotWritable(String.prototype.small, "name");
+verifyConfigurable(String.prototype.small, "name");
diff --git a/test/annexB/String/prototype/strike/length.js b/test/annexB/String/prototype/strike/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..f900a36bfb11528a4030384a7d80667d44cc03b8
--- /dev/null
+++ b/test/annexB/String/prototype/strike/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: B.2.3.12
+description: >
+  String.prototype.strike.length is 0.
+info: >
+  String.prototype.strike ( )
+
+  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.strike.length, 0);
+
+verifyNotEnumerable(String.prototype.strike, "length");
+verifyNotWritable(String.prototype.strike, "length");
+verifyConfigurable(String.prototype.strike, "length");
diff --git a/test/annexB/String/prototype/strike/name.js b/test/annexB/String/prototype/strike/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..bda703860cd0de2e7500a79c6281ab85a3c1698e
--- /dev/null
+++ b/test/annexB/String/prototype/strike/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.12
+description: >
+  String.prototype.strike.name is "strike".
+info: >
+  String.prototype.strike ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.strike.name, "strike");
+
+verifyNotEnumerable(String.prototype.strike, "name");
+verifyNotWritable(String.prototype.strike, "name");
+verifyConfigurable(String.prototype.strike, "name");
diff --git a/test/annexB/String/prototype/sub/length.js b/test/annexB/String/prototype/sub/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..7c7ed50ff7ebc60a87c7775c8a44a00e56d5b254
--- /dev/null
+++ b/test/annexB/String/prototype/sub/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: B.2.3.13
+description: >
+  String.prototype.sub.length is 0.
+info: >
+  String.prototype.sub ( )
+
+  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.sub.length, 0);
+
+verifyNotEnumerable(String.prototype.sub, "length");
+verifyNotWritable(String.prototype.sub, "length");
+verifyConfigurable(String.prototype.sub, "length");
diff --git a/test/annexB/String/prototype/sub/name.js b/test/annexB/String/prototype/sub/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..e1ea91559e772d2e572ebea171690f733a47b234
--- /dev/null
+++ b/test/annexB/String/prototype/sub/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.13
+description: >
+  String.prototype.sub.name is "sub".
+info: >
+  String.prototype.sub ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.sub.name, "sub");
+
+verifyNotEnumerable(String.prototype.sub, "name");
+verifyNotWritable(String.prototype.sub, "name");
+verifyConfigurable(String.prototype.sub, "name");
diff --git a/test/annexB/String/prototype/substr/length.js b/test/annexB/String/prototype/substr/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..05c36f75e0b905a439bcb0aedacf845242107b0d
--- /dev/null
+++ b/test/annexB/String/prototype/substr/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: B.2.3.1
+description: >
+  String.prototype.substr.length is 2.
+info: >
+  String.prototype.substr (start, length)
+
+  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.substr.length, 2);
+
+verifyNotEnumerable(String.prototype.substr, "length");
+verifyNotWritable(String.prototype.substr, "length");
+verifyConfigurable(String.prototype.substr, "length");
diff --git a/test/annexB/String/prototype/substr/name.js b/test/annexB/String/prototype/substr/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..ef8057acade9b89235be777923328b1d95e96e56
--- /dev/null
+++ b/test/annexB/String/prototype/substr/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.1
+description: >
+  String.prototype.substr.name is "substr".
+info: >
+  String.prototype.substr (start, length)
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.substr.name, "substr");
+
+verifyNotEnumerable(String.prototype.substr, "name");
+verifyNotWritable(String.prototype.substr, "name");
+verifyConfigurable(String.prototype.substr, "name");
diff --git a/test/annexB/String/prototype/sup/length.js b/test/annexB/String/prototype/sup/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..f312bf98bac971721833eacef7a9d09694d43de9
--- /dev/null
+++ b/test/annexB/String/prototype/sup/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: B.2.3.14
+description: >
+  String.prototype.sup.length is 0.
+info: >
+  String.prototype.sup ( )
+
+  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.sup.length, 0);
+
+verifyNotEnumerable(String.prototype.sup, "length");
+verifyNotWritable(String.prototype.sup, "length");
+verifyConfigurable(String.prototype.sup, "length");
diff --git a/test/annexB/String/prototype/sup/name.js b/test/annexB/String/prototype/sup/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..4642c4c2732069c22ad4bea40fc3d1c1bf6f8e40
--- /dev/null
+++ b/test/annexB/String/prototype/sup/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.3.14
+description: >
+  String.prototype.sup.name is "sup".
+info: >
+  String.prototype.sup ( )
+
+  17 ECMAScript Standard Built-in Objects:
+    Every built-in Function object, including constructors, that is not
+    identified as an anonymous function has a name property whose value
+    is a String.
+
+    Unless otherwise specified, the name 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.sup.name, "sup");
+
+verifyNotEnumerable(String.prototype.sup, "name");
+verifyNotWritable(String.prototype.sup, "name");
+verifyConfigurable(String.prototype.sup, "name");
diff --git a/test/annexB/global/escape/length.js b/test/annexB/global/escape/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..08be6f98a315623157509b18d9eb179e193257fc
--- /dev/null
+++ b/test/annexB/global/escape/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: B.2.1.1
+description: >
+  escape.length is 1.
+info: >
+  escape (string)
+
+  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(escape.length, 1);
+
+verifyNotEnumerable(escape, "length");
+verifyNotWritable(escape, "length");
+verifyConfigurable(escape, "length");
diff --git a/test/annexB/global/escape/name.js b/test/annexB/global/escape/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..392009b71f29e82edfa051f1379d1f5e5f3750c1
--- /dev/null
+++ b/test/annexB/global/escape/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.1.1
+description: >
+  escape.name is "escape".
+info: >
+  escape (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(escape.name, "escape");
+
+verifyNotEnumerable(escape, "name");
+verifyNotWritable(escape, "name");
+verifyConfigurable(escape, "name");
diff --git a/test/annexB/global/unescape/length.js b/test/annexB/global/unescape/length.js
new file mode 100755
index 0000000000000000000000000000000000000000..f700c74350244551ba417a7bba7e95f21e9570d4
--- /dev/null
+++ b/test/annexB/global/unescape/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: B.2.1.2
+description: >
+  unescape.length is 1.
+info: >
+  unescape (string)
+
+  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(unescape.length, 1);
+
+verifyNotEnumerable(unescape, "length");
+verifyNotWritable(unescape, "length");
+verifyConfigurable(unescape, "length");
diff --git a/test/annexB/global/unescape/name.js b/test/annexB/global/unescape/name.js
new file mode 100755
index 0000000000000000000000000000000000000000..f524d40772928b6a28dd0c922ccaf7c06dc0d615
--- /dev/null
+++ b/test/annexB/global/unescape/name.js
@@ -0,0 +1,26 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: B.2.1.2
+description: >
+  unescape.name is "unescape".
+info: >
+  unescape (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(unescape.name, "unescape");
+
+verifyNotEnumerable(unescape, "name");
+verifyNotWritable(unescape, "name");
+verifyConfigurable(unescape, "name");