diff --git a/test/annexB/built-ins/String/prototype/trimLeft/length.js b/test/annexB/built-ins/String/prototype/trimLeft/length.js
index 133c5ec03447f4dfdc9370fe35cf9f4c07652ee6..7cf7285b709b51dea3e58b423e9121b573604ddf 100644
--- a/test/annexB/built-ins/String/prototype/trimLeft/length.js
+++ b/test/annexB/built-ins/String/prototype/trimLeft/length.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimLeft
 description: >
   String.prototype.trimLeft.length is 0.
 info: >
@@ -20,10 +20,12 @@ info: >
     object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
     [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimLeft.length, 0);
-
-verifyNotEnumerable(String.prototype.trimLeft, "length");
-verifyNotWritable(String.prototype.trimLeft, "length");
-verifyConfigurable(String.prototype.trimLeft, "length");
+verifyProperty(String.prototype.trimLeft, "length", {
+  value: 0,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/annexB/built-ins/String/prototype/trimLeft/name.js b/test/annexB/built-ins/String/prototype/trimLeft/name.js
index 75e33ad6affc9357bfa955b8702926cd94231bbb..d9509c30865fdb24c6d17c5dd2a323d9fc814453 100644
--- a/test/annexB/built-ins/String/prototype/trimLeft/name.js
+++ b/test/annexB/built-ins/String/prototype/trimLeft/name.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimLeft
 description: >
   String.prototype.trimLeft.name is "trimLeft".
 info: >
@@ -17,10 +17,12 @@ info: >
     object, if it exists, has the attributes { [[Writable]]: false,
     [[Enumerable]]: false, [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimLeft.name, "valueOf");
-
-verifyNotEnumerable(String.prototype.trimLeft, "name");
-verifyNotWritable(String.prototype.trimLeft, "name");
-verifyConfigurable(String.prototype.trimLeft, "name");
+verifyProperty(String.prototype.trimLeft, "name", {
+  value: "trimLeft",
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/annexB/built-ins/String/prototype/trimLeft/prop-desc.js b/test/annexB/built-ins/String/prototype/trimLeft/prop-desc.js
index 1155025873a74db4dffd09bc35c486189b22cf61..90f5f355f7afaa67394eb3744b385f8c951b9915 100644
--- a/test/annexB/built-ins/String/prototype/trimLeft/prop-desc.js
+++ b/test/annexB/built-ins/String/prototype/trimLeft/prop-desc.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimLeft
 description: >
   "trimLeft" property of String.prototype
 info: >
@@ -12,8 +12,11 @@ info: >
   has the attributes { [[Writable]]: true, [[Enumerable]]: false,
   [[Configurable]]: true } unless otherwise specified.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-verifyNotEnumerable(String.prototype, "trimLeft");
-verifyWritable(String.prototype, "trimLeft");
-verifyConfigurable(String.prototype, "trimLeft);
+verifyProperty(String.prototype, "trimLeft", {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/annexB/built-ins/String/prototype/trimRight/length.js b/test/annexB/built-ins/String/prototype/trimRight/length.js
index 83926342614300ab7ad78bca07a26748002704c6..0108341d7b0c294f368ccedf8e475554a93a9595 100644
--- a/test/annexB/built-ins/String/prototype/trimRight/length.js
+++ b/test/annexB/built-ins/String/prototype/trimRight/length.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimRight
 description: >
   String.prototype.trimRight.length is 0.
 info: >
@@ -20,10 +20,12 @@ info: >
     object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
     [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimRight.length, 0);
-
-verifyNotEnumerable(String.prototype.trimRight, "length");
-verifyNotWritable(String.prototype.trimRight, "length");
-verifyConfigurable(String.prototype.trimRight, "length");
+verifyProperty(String.prototype.trimRight, "length", {
+  value: 0,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/annexB/built-ins/String/prototype/trimRight/name.js b/test/annexB/built-ins/String/prototype/trimRight/name.js
index e5cea32442b6226427d64a520aaa2e4bcadd9c61..14f6b494fc7c29a0f1a5bea67feaaad0636dec6b 100644
--- a/test/annexB/built-ins/String/prototype/trimRight/name.js
+++ b/test/annexB/built-ins/String/prototype/trimRight/name.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimRight
 description: >
   String.prototype.trimRight.name is "trimRight".
 info: >
@@ -17,10 +17,12 @@ info: >
     object, if it exists, has the attributes { [[Writable]]: false,
     [[Enumerable]]: false, [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimRight.name, "valueOf");
-
-verifyNotEnumerable(String.prototype.trimRight, "name");
-verifyNotWritable(String.prototype.trimRight, "name");
-verifyConfigurable(String.prototype.trimRight, "name");
+verifyProperty(String.prototype.trimRight, "name", {
+  value: "trimRight",
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/annexB/built-ins/String/prototype/trimRight/prop-desc.js b/test/annexB/built-ins/String/prototype/trimRight/prop-desc.js
index fb3f81e0b02387f6c941373d5469bbdb52478807..9aad54d47ded75c9207881495dd7d80d7cd86f1f 100644
--- a/test/annexB/built-ins/String/prototype/trimRight/prop-desc.js
+++ b/test/annexB/built-ins/String/prototype/trimRight/prop-desc.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimRight
 description: >
   "trimRight" property of String.prototype
 info: >
@@ -12,8 +12,11 @@ info: >
   has the attributes { [[Writable]]: true, [[Enumerable]]: false,
   [[Configurable]]: true } unless otherwise specified.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-verifyNotEnumerable(String.prototype, "trimRight");
-verifyWritable(String.prototype, "trimRight");
-verifyConfigurable(String.prototype, "trimRight);
+verifyProperty(String.prototype, "trimRight", {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/String/prototype/trimEnd/length.js b/test/built-ins/String/prototype/trimEnd/length.js
index a035d378b3421d8290efa50e3fec4b7d7537b21c..37c9fd8b826145a6fd29b091df0d03c40992a14b 100644
--- a/test/built-ins/String/prototype/trimEnd/length.js
+++ b/test/built-ins/String/prototype/trimEnd/length.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimEnd
 description: >
   String.prototype.trimEnd.length is 0.
 info: >
@@ -20,10 +20,12 @@ info: >
     object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
     [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimEnd.length, 0);
-
-verifyNotEnumerable(String.prototype.trimEnd, "length");
-verifyNotWritable(String.prototype.trimEnd, "length");
-verifyConfigurable(String.prototype.trimEnd, "length");
+verifyProperty(String.prototype.trimEnd, "length", {
+  value: 0,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/String/prototype/trimEnd/name.js b/test/built-ins/String/prototype/trimEnd/name.js
index d76b00fcd0542544cb0ea1e34f095bd6fc10a89e..6a0dc7aeccdabb0fe29d88b372b67438823b19e5 100644
--- a/test/built-ins/String/prototype/trimEnd/name.js
+++ b/test/built-ins/String/prototype/trimEnd/name.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimEnd
 description: >
   String.prototype.trimEnd.name is "trimEnd".
 info: >
@@ -17,10 +17,12 @@ info: >
     object, if it exists, has the attributes { [[Writable]]: false,
     [[Enumerable]]: false, [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimEnd.name, "valueOf");
-
-verifyNotEnumerable(String.prototype.trimEnd, "name");
-verifyNotWritable(String.prototype.trimEnd, "name");
-verifyConfigurable(String.prototype.trimEnd, "name");
+verifyProperty(String.prototype.trimEnd, "name", {
+  value: "trimEnd",
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/String/prototype/trimEnd/prop-desc.js b/test/built-ins/String/prototype/trimEnd/prop-desc.js
index fad9eac35c389fdfcced14ee1577d9237bebe855..990e201b481be35d84f03d7e72440bf5fed75cef 100644
--- a/test/built-ins/String/prototype/trimEnd/prop-desc.js
+++ b/test/built-ins/String/prototype/trimEnd/prop-desc.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimEnd
 description: >
   "trimEnd" property of String.prototype
 info: >
@@ -12,8 +12,11 @@ info: >
   has the attributes { [[Writable]]: true, [[Enumerable]]: false,
   [[Configurable]]: true } unless otherwise specified.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-verifyNotEnumerable(String.prototype, "trimEnd");
-verifyWritable(String.prototype, "trimEnd");
-verifyConfigurable(String.prototype, "trimEnd");
+verifyProperty(String.prototype, "trimEnd", {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});
diff --git a/test/built-ins/String/prototype/trimStart/length.js b/test/built-ins/String/prototype/trimStart/length.js
index 0887a52c5b6e8fa12c41225015e91c432b6b4cf3..43373b2cdc2c3765e96c24b1b66e464a5995c696 100644
--- a/test/built-ins/String/prototype/trimStart/length.js
+++ b/test/built-ins/String/prototype/trimStart/length.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimStart
 description: >
   String.prototype.trimStart.length is 0.
 info: >
@@ -20,10 +20,12 @@ info: >
     object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
     [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimStart.length, 0);
-
-verifyNotEnumerable(String.prototype.trimStart, "length");
-verifyNotWritable(String.prototype.trimStart, "length");
-verifyConfigurable(String.prototype.trimStart, "length");
+verifyProperty(String.prototype.trimStart, "length", {
+  value: 0,
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/String/prototype/trimStart/name.js b/test/built-ins/String/prototype/trimStart/name.js
index 68e14ded407a594f61fa4e4b5f08ddf0bc7694a1..60a3442af8730ec10762639bc8f6e433b8d8718a 100644
--- a/test/built-ins/String/prototype/trimStart/name.js
+++ b/test/built-ins/String/prototype/trimStart/name.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimStart
 description: >
   String.prototype.trimStart.name is "trimStart".
 info: >
@@ -17,10 +17,12 @@ info: >
     object, if it exists, has the attributes { [[Writable]]: false,
     [[Enumerable]]: false, [[Configurable]]: true }.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-assert.sameValue(String.prototype.trimStart.name, "valueOf");
-
-verifyNotEnumerable(String.prototype.trimStart, "name");
-verifyNotWritable(String.prototype.trimStart, "name");
-verifyConfigurable(String.prototype.trimStart, "name");
+verifyProperty(String.prototype.trimStart, "name", {
+  value: "trimStart",
+  enumerable: false,
+  writable: false,
+  configurable: true,
+});
diff --git a/test/built-ins/String/prototype/trimStart/prop-desc.js b/test/built-ins/String/prototype/trimStart/prop-desc.js
index d2403dc15bb073d77dc5c50beb198216f22525c4..a7f55ab691f9647a7702d8757273ff8418ad02cc 100644
--- a/test/built-ins/String/prototype/trimStart/prop-desc.js
+++ b/test/built-ins/String/prototype/trimStart/prop-desc.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-esid: pending
+esid: sec-string.prototype.trimStart
 description: >
   "trimStart" property of String.prototype
 info: >
@@ -12,8 +12,11 @@ info: >
   has the attributes { [[Writable]]: true, [[Enumerable]]: false,
   [[Configurable]]: true } unless otherwise specified.
 includes: [propertyHelper.js]
+features: [string-trimming]
 ---*/
 
-verifyNotEnumerable(String.prototype, "trimStart");
-verifyWritable(String.prototype, "trimStart");
-verifyConfigurable(String.prototype, "trimStart");
+verifyProperty(String.prototype, "trimStart", {
+  enumerable: false,
+  writable: true,
+  configurable: true,
+});